Медленно выполняемый запрос, ищите идеи для решения - PullRequest
0 голосов
/ 05 августа 2011

Я использую SQL Server 2008.

У меня есть представление с именем testView

В представлении один из столбцов использует другой запрос, взятый с этой страницы - http://www.simple -talk.com / sql / t-sql-программирование / конкатенация-строк-значений-в-транзакции-sql /

то есть по этому форматуследующий запрос выполняется, если в представлении есть 60 000 строк. Это занимает около 110 секунд.

select * from testView where Products like '%asdf%'

Какие предложения можно предложить для улучшения этого запроса?

Ответы [ 2 ]

1 голос
/ 05 августа 2011

Я бы использовал Query Analyzer, встроенный в SQL Server, чтобы изучить план выполнения и выяснить, где он занимает наибольшее количество времени.

http://www.sql -server-performance.com/ 2006 / query-analyzer /

Специально включите Показать план выполнения, а также статистику ввода-вывода и время.

Обычно при настройке производительности логичнофизические чтения .Вы хотите уменьшить количество физических чтений, чтобы чтение производилось в кеше, а не на диске.

0 голосов
/ 05 августа 2011

Первое, что я хотел бы сделать, это выполнить запрос через функцию объяснения. Это детализирует обработку запросов, чтобы вы могли видеть, где база данных будет тратить время. Ищите, где он выполняет полное сканирование таблиц, поскольку они обычно являются виновниками и индикаторами того, где вам нужно применять индексы.

...