2015-11-02 3 views
1
select top 10 productName 
from Products 
where productDetails like '%something%' 
group by productName 
order by productName asc 

Что мне делать/изменять по моему запросу для улучшения производительность?SQL LINQ executequery работает медленно. Как повысить производительность?

+0

Использование 'LIKE '% something%'' гарантирует, что SQL Server не сможет использовать какой-либо индекс - это то, что убивает производительность в вашем запросе! Избегайте этого, чтобы улучшить скорость поиска. –

+0

Ty для вашего ответа. –

ответ

2

Имея запрос с предложением, <column> like '%<anything>' вызовет сканирование таблицы, чтобы проверить каждую строку, чтобы убедиться, что она соответствует предложению. В зависимости от вашего выбора РСУБД и ваших точных требований вы можете посмотреть полное текстовое индексирование или если ваши запросы могут быть переписаны как <column> like '<something>%', тогда запрос сможет использовать индексы в столбце.

+0

Ty для ответа и информации. –