Как я могу научиться настройке индекса SQL Server?[закрыто]

StackOverflow https://stackoverflow.com/questions/604879

Вопрос

Каков наилучший практический способ изучения настройки индекса при написании запросов tsql?У меня VS2008 SQL Express.Может ли кто-нибудь предоставить мне примеры и т. д.?Я уже нашел статьи в Интернете, и они великолепны в теории, но мне все еще не удалось увидеть настройку индекса в реальной жизни.Есть ли небольшие примеры, которые легко создать?

Это было полезно?

Решение

Для настройки индексов обычно нужны большие таблицы с большим количеством данных, поэтому найти небольшие простые примеры непросто.

Мой опыт работы связан с инструментами SQL 2000.Анализатор запросов, показывающий план выполнения и типы используемых индексов и объединений.Очень сложно описать это здесь.

Я могу порекомендовать хорошую книгу по этой теме, особенно главу 9.

http://www.amazon.com/Professional-Server-Performance-Tuning-Programmer/dp/0470176393

Я бы не рекомендовал вам использовать инструменты автоматической настройки индекса, пока вы не поймете, как делать это вручную.Я думаю, что когда он рекомендует добавить индекс, важно, чтобы у вас была возможность проверить рекомендацию на здравомыслие и решить для себя, является ли это хорошим вариантом.Часто рекомендуется добавить «покрывающий» индекс со многими столбцами, чтобы ускорить один запрос, который вы запросили для анализа, но это может оказать неблагоприятное воздействие на вашу базу данных в целом, когда вы просматриваете все запросы к этой таблице.

Другие советы

Кимберли Трип (Богиня SQL) — эксперт, она много говорила и писала на эту тему:

http://www.sqlskills.com/BLOGS/KIMBERLY/category/Indexes.aspx

Если у вас есть версия SQL Developer, вам стоит взглянуть на советника по настройке ядра базы данных.

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

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

Есть хорошая книга о запросах TSQL, в которой есть несколько очень хороших советов о том, как работают запросы и как вы можете посмотреть их настройку, специфичную для MSSQL.

В SQL Server, если ваша схема базы данных более простая, вам не нужно много настраивать, поскольку первичные ключи автоматически приводят к созданию кластеризованного индекса, а ограничения внешнего ключа требуют уникального индекса.Таким образом, о ваших соединениях обычно заботятся.

Сложнее всего обстоит дело с поиском и фильтрами, которые используют запросы в приложении.Вам придется специально смотреть эти запросы и определять кандидатов на дополнительные индексы.

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

Отправную точку для определения наиболее эффективных запросов можно найти в моем ответе. здесь.

Обучение настройке требует практики.Если вы хотите овладеть этим искусством, начните с покупки книги Саджала Дама. Краткое описание настройки производительности запросов SQL Server

Кен Инглэнд Справочник по оптимизации и настройке производительности Microsoft SQL Server 2000 это классика.(В обзорах Amazon говорится, что версия этой книги 2005 года не так хороша.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top