Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server :comment optimiser les requêtes like ?

Faire beaucoup pour un LIKE où le modèle a la forme '%XXX%' , vous souhaitez rechercher la capacité d'indexation de texte intégral de SQL Server et utiliser CONTAINS au lieu de LIKE . En l'état, vous effectuez une analyse complète de la table, car un index normal n'aidera pas à rechercher un élément commençant par un caractère générique, mais un index de texte intégral le fera.

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