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

SQL Server:como otimizar consultas semelhantes?


Para fazer muito por um LIKE onde o padrão tem o formato '%XXX%' , você deseja pesquisar o recurso de indexação de texto completo do SQL Server e usar CONTAINS em vez de LIKE . Como está, você está fazendo uma varredura completa da tabela, porque um índice normal não ajudará na pesquisa de um item que começa com um curinga - mas um índice de texto completo sim.
/* ... */
 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')