Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

A consulta SQL continua em execução por muito tempo se o termo de pesquisa não for encontrado


Já você pode simplificar sua consulta assim;) :
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 você tiver um problema de desempenho, tente criar um procedimento armazenado com seu SQL e use-o com o entity Framework.