Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server:jak zoptymalizować podobne zapytania?

Dużo zrobić dla LIKE gdzie wzorzec ma postać '%XXX%' , chcesz sprawdzić możliwości indeksowania pełnotekstowego programu SQL Server i użyć CONTAINS zamiast LIKE . W obecnej postaci wykonujesz pełne skanowanie tabeli, ponieważ normalny indeks nie pomoże w wyszukiwaniu elementu, który zaczyna się od symbolu wieloznacznego – ale indeks pełnotekstowy tak.

/* ... */
 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. Dowiedz się, który wiersz spowodował błąd

  2. Zwracany typ danych różni się w zależności od danych w tabeli

  3. Wstaw pusty ciąg do kolumny INT dla SQL Server

  4. Czy jest możliwe, aby klauzula SQL Output zwróciła kolumnę, która nie jest wstawiana?

  5. Jak zapobiec automatycznemu zamykaniu programu SQL Server LocalDB?