Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server:как да оптимизирате подобни заявки?

Да направиш много за LIKE където шаблонът има формата '%XXX%' , искате да потърсите възможността за индексиране на пълен текст на SQL Server и да използвате CONTAINS вместо LIKE . Както е, вие правите пълно сканиране на таблица, тъй като нормален индекс няма да помогне при търсене на елемент, който започва със заместващ знак, но индексът на пълен текст ще помогне.

/* ... */
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да се посочи условие в Count()?

  2. За процедурата или функцията cdc.fn_cdc_get_all_changes_ са предоставени недостатъчен брой аргументи

  3. Извадете часовете от резултата от заявката на SQL Server 2012

  4. Избягване на двойни кавички в SQL 2005/2008

  5. Как да напиша име на колона с точка (.) в клаузата SELECT?