sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server:hvordan optimerer man lignende forespørgsler?

At gøre meget for en LIKE hvor mønsteret har formen '%XXX%' , vil du slå SQL Servers fuldtekstindekseringsfunktion op og bruge CONTAINS i stedet for LIKE . Som det er, laver du en fuld tabelscanning, fordi et normalt indeks ikke hjælper med en søgning efter et element, der starter med et jokertegn -- men et fuldtekstindeks vil 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. VÆLG DISTINCT CLOB_COLUMN FRA TABEL;

  2. Duplikerede resultater ved udførelse af INNER JOIN

  3. Mysql returnerer mere end én række

  4. Tillad adgang til Postgresql fra enhver computer