План выполнения дает подсказку для разных индексов каждый раз - PullRequest
0 голосов
/ 28 февраля 2020

SQL Сервер продолжает изменять параметр для построения некластеризованного индекса на таблице.

1-й раз, SQL Сервер дал предупреждение, чтобы построить индекс на 18 столбцах, чтобы повысить производительность на 55%.

Я строю эти индексы, а затем SQL работает в течение 16 минут. В конце выполнения он выдал новое предупреждение о том, что индекс по-разному можно построить для одной и той же таблицы, чтобы повысить производительность на 70%.

Тем не менее, когда я запускаю SQL после внедрения новых индексов, он запускается более 30 минут.

Есть ли какие-либо рекомендации относительно того, какие атрибуты следует включить для некластеризованного сразу после имени таблицы и параметра Включить

1 Ответ

0 голосов
/ 28 февраля 2020

В плане запроса вы видите функцию отсутствующих индексов. Эта функция является заведомо плохой при выявлении полезных улучшений производительности. Я научился игнорировать это, если рассчитанное улучшение не превышает 95%. Даже тогда предложения обычно уже достаточно охвачены другими индексами.

Я бы посоветовал вам удалить все только что созданные вами индексы. После этого, пожалуйста, опубликуйте план на https://www.brentozar.com/pastetheplan, свяжите его здесь в новом вопросе. Из плана может быть более очевидно, какова реальная проблема.

...