Published on

March 5, 2013

Исследование планов выполнения SQL Server

Вы когда-нибудь задумывались, как SQL Server выполняет ваши запросы и что происходит за кулисами? В этой статье мы рассмотрим планы выполнения SQL Server и некоторые интересные функции, которые могут помочь вам анализировать и оптимизировать ваши запросы.

Давайте начнем с простого запроса:

SELECT m.MovieName,
       msd.MovieStageName,
       st.StageTypeDesc
FROM dbo.Movie AS m
JOIN dbo.MovieStage AS ms ON m.MovieId = ms.MovieID
JOIN dbo.MovieStageDefinition AS msd ON ms.MovieStageDefinitionId = msd.MovieStageDefinitionId
JOIN dbo.StageType AS st ON msd.StageTypeId = st.StageTypeId
WHERE m.MovieId = 42;

При выполнении этого запроса в Windows Azure SQL Database (WASD) мы получаем план выполнения, который предоставляет визуальное представление того, как выполняется запрос. План включает различные операторы и связанные с ними затраты.

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

Одна из этих функций – возможность сортировки операторов по различным критериям, таким как общая оценочная стоимость, стоимость ЦП или стоимость ввода-вывода. Это позволяет сосредоточиться на конкретных аспектах плана и выявить потенциальные узкие места производительности.

Еще одна полезная функция – возможность найти конкретные операторы в плане. Выбрав тип оператора, например, “Поиск”, WASD выделяет все экземпляры этого оператора в плане. Это может быть полезно при анализе сложных планов с несколькими операторами.

Кроме того, WASD предлагает различные представления плана выполнения. Нажимая на значки в правом верхнем углу плана, вы можете переключаться между графическим представлением, сеточным форматом или вложенным отображением. Каждое представление предоставляет уникальные идеи о плане и позволяет использовать различные подходы к анализу.

Хотя эти функции в настоящее время доступны в WASD, интересно подумать о возможности увидеть их в основном продукте SQL Server. Компания Microsoft постоянно работает над улучшением SQL Server, и мы можем ожидать больше улучшений в будущем.

Если вас интересует изучение SQL Server и его развивающейся среды, рекомендуем посетить предстоящую конференцию TechEd 2013. Там будет проведен предконференционный семинар “Как стать успешным DBA в изменяющемся мире облачных и локальных данных”, где эксперты подробно расскажут о администрировании и оптимизации Azure SQL Database.

Не упустите возможность расширить свои знания и наладить контакты с профессионалами отрасли. Зарегистрируйтесь на конференцию здесь.

Следите за нашими захватывающими обновлениями и советами по SQL Server. Удачного запроса!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.