Профиль SQL и DTA - PullRequest
       39

Профиль SQL и DTA

0 голосов
/ 05 января 2010

Вот сценарий:

Я провел трассировку в течение нескольких часов при максимальной загрузке сервера, используя три события (не говоря уже об этом), которые ищет DTA. Затем я останавливаюсь и передаю этот профилировщик в DTA. Он выполняет настройку и дает мне обратную связь о том, какие индексы нужно поставить.

Вот вопрос:

Несколько (до 15) рекомендаций по различным индексам относятся к одной таблице. Если я позволю DTA выполнять свою работу, значит ли это, что для этого будет создано несколько индексов? Не будет ли это проблемой?

Ответы [ 4 ]

1 голос
/ 05 января 2010

DTA оправдывает себя при многих обстоятельствах, но не всегда дает оптимальные рекомендации. Перекрытия довольно распространены, как и дублирование кластеризованного индекса в виде некластеризованного индекса (!).

Если вы хотите сделать это более точно вручную: MS SQL Server 2008 - Как я могу регистрировать и находить самые дорогие запросы?

0 голосов
/ 05 января 2010

15 индексов действительно много для одной таблицы. Я бы посмотрел на сами запросы, которые выполняются против него.

Найдите места, в которых изменения в структуре запроса будут работать для всех существующих индексов или небольшого подмножества предлагаемых индексов.

0 голосов
/ 05 января 2010

Оптимизация сервера SQL является сложной и зависит от данных в вашей базе данных. Единственный реальный способ определить, какие изменения коснутся изменений, - это выполнить тестирование производительности и нагрузки для вашей базы данных, используя репрезентативные данные (предпочтительно резервную копию вашей действующей базы данных)

Тем не менее, мне кажется, что 15 индексов - это много, большое количество индексов может негативно повлиять на скорость записи в эту таблицу. DTA, вероятно, выполнял каждый запрос к этой таблице индивидуально и подбирал оптимальные индексы для каждого запроса. Вы, вероятно, обнаружите, что можно восстановить количество индексов, создав индексы, подходящие для нескольких запросов - это может означать, что некоторые запросы немного медленнее, чем со всеми 15 индексами, однако есть вероятность, что вы будете возможность получить 99% улучшения.

0 голосов
/ 05 января 2010

Не зная больше о таблицах, запросах или индексах, ответ должен быть "это зависит" ...

Вам нужно взять вывод из DTA в качестве отправной точки. Если вы посмотрите на рекомендуемые индексы, вы можете обнаружить, что между ними есть некоторое перекрытие, чтобы уменьшить количество индексов.

...