sql >> Databáze >  >> RDS >> Sqlserver

SQL Query běží velmi dlouho, pokud hledaný výraz nebyl nalezen

Již nyní můžete svůj dotaz zjednodušit takto;) :

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

Pokud máte problém s výkonem, zkuste vytvořit uloženou proceduru s vaším SQL a použít ji s entity Framework.



  1. SQL IF SELECT dotaz je null, pak proveďte jiný dotaz

  2. RDBMS vs NoSQL

  3. C# SQLConnection pooling

  4. PostgreSQL pomocí pg_trgm je pomalejší než úplné skenování