Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Query continua a funzionare per molto tempo se il termine di ricerca non viene trovato

Puoi già semplificare la tua query in questo modo;) :

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

Se hai un problema di prestazioni, prova a creare una stored procedure con il tuo SQL e usala con entity Framework.