Опубликован: 02.02.2007 | Доступ: свободный | Студентов: 2308 / 208 | Оценка: 4.10 / 3.86 | Длительность: 26:44:00
Лекция 1:

Анализ запросов

< Урок 22 || Лекция 1: 1234567 || Урок 23 >
Аннотация: Если приложение базы данных выполняется не так хорошо или не так быстро, как вы ожидали, в ряде случаев наиболее очевидной реакцией будет модернизация вашего компьютера – увеличить объем оперативной памяти сервера, поставить более быстрый процессор или дополнительный процессор, модернизировать коммуникационные средства – однако это не всегда является наилучшим решением. Иногда проблемы лежат в самом приложении, а чаще всего в запросах, выполняемых приложением. Мы рассмотрим одно из инструментальных средств Microsoft SQL Server, предоставляющее возможность анализа и оптимизации запросов, используемых в вашем приложении.

Вы научитесь:

  • отображать план выполнения SQL-сценария;
  • изменять схему базы данных из панели управления планом выполнения Execution Plan Pane;
  • отображать трассировку сервера для SQL-сценария;
  • отображать клиентскую статистику для SQL-сценария;
  • использовать мастер настройки индексов Index Tuning Wizard для оптимизации схемы базы данных.

Использование Query Analyzer для оптимизации производительности

В добавлении к панели редактирования Editor Pane, окно Query (Запрос) анализатора запросов SQL Server Query Analyzer предоставляет три дополнительных панели для анализа производительности отдельных запросов. Панель Execution Plan Pane содержит графическое представление задач, которые SQL Server будет обрабатывать для выполнения запроса. Панель Trace Pane показывает детальную информацию о выполнении запроса на стороне сервера, включая время и число операций чтения и записи. Панель Client Statistics Pane отображает информацию о выполнении запроса на стороне клиента, включая количество обращений и ответов от сервера и пропускную способность сети.

Планы выполнения

Панель планов выполнения Execution Plan Pane окна Query (Запрос) графически отображает последовательность выполнения вашего запроса SQL Server. На рис. 23.1 представлен план выполнения для простого оператора SELECT:

SELECT OilName, LatinName
FROM Oils
ORDER BY LatinName
Панель плана выполнения Execution Plan Pane окна Query (Запрос).

увеличить изображение
Рис. 23.1. Панель плана выполнения Execution Plan Pane окна Query (Запрос).

Совет. Информация, отображаемая в панели плана выполнения Execution Plan Pane, идентична тексту, отображаемому опцией SHOWPLAN базы данных, которая хорошо известна пользователям предыдущих версий SQL Server и все еще присутствует в SQL Server 2000. Если оператор SET SHOWPLAN_ALL ON выполняется как часть сценария в окне Query (Запрос), то результаты будут отображаться в панели сетки Grids Pane. Панель Execution Plan Pane отображает информацию в формате, который понятен большинству людей.

Панель Execution Plan Pane использует довольно большое количество значков для представления операций, которые может выполнить обработчик запросов. Значки описаны в документации SQL Server Books Online, но нет большой необходимости изучать их. Просто наведите курсор мыши на значок и удерживайте некоторое время на нем, после чего отобразится окно подсказки, описывающее не только действие, представляемое значком, но и некоторый объем полезной информации, такой как цена выполнения ввода/вывода I/O, цена загрузки процессора, число строк в операции и итоговая цена операции. Рис. 23.2 показывает окно подсказки для плана выполнения операции кластерного индексного сканирования Clustered Index Scan, представленного на рис. 23.1.

Окно подсказки для операции Clustered Index Scan.

увеличить изображение
Рис. 23.2. Окно подсказки для операции Clustered Index Scan.

Операции в плане выполнения исполняются слева направо. Окно подсказки для каждой стрелки, соединяющей операции, показывает число строк, выполненных в предыдущей операции и расчетный размер каждой строки, как показано на рис. 23.3.

Окно подсказки для соединительных стрелок.

увеличить изображение
Рис. 23.3. Окно подсказки для соединительных стрелок.

Помимо отображения операций, которые SQL Server будет исполнять при выполнении определенного запроса, план выполнения также предоставляет механизм для оптимизации запроса. Используя контекстное меню панели плана выполнения Execution Plan Pane, вы можете обновлять статистику, используемую оптимизатором запросов при определении стратегии выполнения, и добавлять индексы для оптимизации производительности.

< Урок 22 || Лекция 1: 1234567 || Урок 23 >
Инна Грушецкая
Инна Грушецкая
Сергей Чесноков
Сергей Чесноков