SQL Server 2005 Оптимизация
Содержание
1. Индексы, что это и зачем они нужны
a) Кластерезированые индексы
b) Некластерезированые индексы
2. Статистика, что это и зачем она нужна
3. Инстументы оптимизации
a) SQL Server Profiler
b) Database Engine Tuning Advisor
Индекс
Подобно содержанию в книге, индекс в базе данных позволяет быстро искать конкретные сведения в таблице или индексированном представлении.
Индекс содержит ключи, построенные из одного или нескольких столбцов таблицы или представления, и указатели, которые сопоставляются с местом хранения заданных данных.
Создание хорошо спроектированных индексов для поддержки запросов обеспечивает значительное улучшение производительности запросов к базе данных и приложениям.
Индексы сокращают объем данных, которые необходимо считать, чтобы возвратить результирующий набор.
Индексы также обеспечивают уникальность строк таблицы, гарантируя целостность данных таблицы.
Сбалансированное дерево
Кластеризованный индекс
Кластеризованный
Кластеризованные индексы сортируют и хранят строки данных в таблицах или представлениях на основе их ключевых значений. Этими значениями являются столбцы, включенные в определение индекса. Существует только один кластеризованный индекс для каждой таблицы, потому что строки данных могут быть отсортированы только в единственном порядке.
Строки данных в таблице хранятся в порядке сортировки только в том случае, если таблица содержит кластеризованный индекс. Если у таблицы есть кластеризованный индекс, то таблица называется кластеризованной. Если у таблицы нет кластеризованного индекса, то строки данных хранятся в неупорядоченной структуре, которая называется кучей.
Некластеризованный индекс
Некластеризованный
Некластеризованные индексы имеют структуру, отдельную от строк данных. В некластеризованном индексе содержатся значения ключа некластеризованного индекса, и каждая запись значения ключа содержит указатель на строку данных, содержащую значение ключа.
Указатель из строки индекса в некластеризованном индексе, который указывает на строку данных, называется указателем строки. Структура указателя строки зависит от того, хранятся ли страницы данных в куче или в кластеризованной таблице. Для кучи указатель строки является указателем на строку. Для кластеризованной таблицы указатель строки данных является ключом кластеризованного индекса.
Статистика
Microsoft SQL Server 2005 собирает статистику по индексам и полям данных, хранимых в базе. Эта статистика используется оптимизатором запроса SQL Server при выборе оптимального плана исполнения запросов на выборку или обновление данных.
При создании индекса оптимизатор запросов автоматически сохраняет данные статистики о проиндексированых столбцах.
Вкачестве альтернативы можно вручную создавать и обновлять статистику с помощью инструкций Transact-SQL и хранимых процедур
Создание статистики - CREATE STATISTICS
Обновление статистики - sp_updatestats
Автостатистика – AUTO_UPDATE_STATISTICS
Просмотр статистики - sp_helpstats
SQL Server Profiler
Приложение SQL Server Profiler — это средство, позволяющее перехватывать события SQL Server 2005 с сервера. События сохраняются в файле трассировки для дальнейшего анализа или использования с целью повторения определенной серии шагов при диагностике проблемы. Приложение SQL Server Profiler используется для следующих действий:
1. Пошаговое выполнение проблемных запросов для поиска источника проблемы;
2. Выявление и диагностика медленно работающих запросов;
3. Перехват серии инструкций Transact-SQL, ведущих к проблеме. Сохраненную трассировку затем можно использовать для моделирования и диагностики проблемы на тестовом сервере;
4. Контроль производительности SQL Server для настройки рабочих нагрузок.
5. Анализ счётчиков производительности для диагностики проблем.
SQL Server Profiler также поддерживает аудит действий, выполняемых в экземплярах SQL Server. В ходе аудита ведётся запись действий, связанных с безопасностью, для дальнейшего просмотра администратором безопасности.
Database Engine Tuning Advisor
Помощник по настройке ядра СУБД - новое средство в службах Microsoft SQL Server 2005, позволяющий настраивать базы данных для повышения скорости обработки запросов. Помощник по настройке ядра СУБД выявляет, каким образом запросы обрабатываются в указанных пользователем базах данных, а затем выдает рекомендации по повышению скорости обработки запросов путем изменения структур физического проектирования, таких как индексы, индексированные представления и секции.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий