Вы когда-нибудь задумывались, как 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. Удачного запроса!