Да направиш много за 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')