Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL-Abfrage läuft sehr lange weiter, wenn Suchbegriff nicht gefunden wird

Schon können Sie Ihre Abfrage so vereinfachen;) :

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();

Wenn Sie ein Leistungsproblem haben, versuchen Sie, eine gespeicherte Prozedur mit Ihrem SQL zu erstellen und sie mit Entity Framework zu verwenden.