sql >> データベース >  >> RDS >> Sqlserver

検索語が見つからない場合、SQLクエリは非常に長い間実行され続けます

    すでにこのようにクエリを簡略化できます;):

    int start=page * recordsInPage;
    
    var inner = (from user in db.Users
                where user.Name.Contains(name) && !user.Deleted && user.AppearInSearch
                orderby user.Verified descending
                select  new
                       {
                         Name = user.Name,
                         Verified = user.Verified,
                         PhotoURL = user.PhotoURL,
                         UserID = user.Id,
                         Subdomain = user.Subdomain,
                         Deleted=user.Deleted,
                         AppearInSearch = user.AppearInSearch
                       }
                 ).Skip(start).Take(recordsInPage);
    
    return await inner.ToListAsync();
    

    パフォーマンスに問題がある場合は、SQLを使用してストアドプロシージャを作成し、それをEntityFrameworkで使用してみてください。



    1. MySQLは省略記号でテキストを切り捨てます

    2. 単一の主キーを参照する外部キーを使用して複数の画像をMySQLデータベーステーブルに挿入する方法

    3. java.sql.SQLException:ローカルホストテストに適したドライバーが見つかりません

    4. 計算列がSQLServerで「永続化」されているかどうかを確認する方法