sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server:hur man optimerar liknande frågor?

Att göra mycket för en LIKE där mönstret har formen '%XXX%' , vill du leta upp SQL Servers fulltextindexeringsfunktion och använda CONTAINS istället för LIKE . Som det är, gör du en fullständig tabellsökning, eftersom ett normalt index inte hjälper vid en sökning efter ett objekt som börjar med ett jokertecken -- men ett fulltextindex kommer att göra det.

/* ... */
 WHERE (LTRIM(RTRIM([t0].[DOCREVNO])) = '0') 
   AND (contains([t0].[FIRSTNAME], 'John')) 
   AND (contains([t0].[LASTNAME], 'Smith')) 
   AND (contains([t0].[SSN], '123'))
   AND (contains([t0].[CLIENTNUMBER],'123')) 
   AND (contains([t0].[MDOCNUMBER], '123')) 
   AND ([t0].[CLIENTINDICATOR] = 'ON')


  1. Dynamisk infogning i variabeltabellsats SQL Server

  2. Hur man får den aktuella tiden (utan tidszon) i PostgreSQL

  3. Chaining orX i Doctrine2 query builder

  4. Varför gör MYSQL högre LIMIT offset långsammare frågan?