sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server:¿cómo optimizar consultas similares?

Para hacer mucho por un LIKE donde el patrón tiene la forma '%XXX%' , desea buscar la capacidad de indexación de texto completo de SQL Server y usar CONTAINS en lugar de LIKE . Tal como está, está haciendo un escaneo completo de la tabla, porque un índice normal no ayudará con la búsqueda de un elemento que comience con un comodín, pero un índice de texto completo sí lo hará.

/* ... */
 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')