sql >> Database >  >> RDS >> Sqlserver

SQL Server:hoe soortgelijke queries te optimaliseren?

Veel doen voor een LIKE waarbij het patroon de vorm heeft '%XXX%' , wilt u de volledige tekstindexeringsmogelijkheid van SQL Server opzoeken en CONTAINS gebruiken in plaats van LIKE . Zoals het is, voert u een volledige tabelscan uit, omdat een normale index niet helpt bij het zoeken naar een item dat begint met een jokerteken, maar een volledige tekstindex wel.

/* ... */
 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. PDO-gooifout als MYSQL_ATTR_INIT_COMMAND wordt gebruikt

  2. Hoe geef ik een lijst met ID's door aan de MySQL-opgeslagen procedure?

  3. Tabelpartities opsommen in de Postgres-tabel

  4. VBA Runtime-fout '-2147467259 (80004005)