Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
Чтобы иметь возможность выполнять запросы, ядро базы данных SQL Server должно проанализировать выражение, чтобы определить эффективный способ доступа к необходимым данным и обработать их. Этот анализ обрабатывается компонентом, который называется оптимизатором запросов. Входные данные оптимизатора запросов включают сам запрос, схему базы данных (определения таблиц и индексов) и статистику базы данных. Оптимизатор запросов создает один или несколько планов выполнения запросов, иногда называются планами выполнения запросов или планами выполнения. Оптимизатор запросов выбирает план запроса с помощью набора эвристики для балансировки времени компиляции и оптимальности плана для поиска хорошего плана запроса.
Совет
Дополнительные сведения о планах обработки запросов и выполнения запросов см. в разделах , посвященных оптимизации инструкций SELECT и кэшированию планов выполнения и повторному использованию руководства по архитектуре обработки запросов.
Сведения о просмотре планов выполнения в SQL Server Management Studio и Azure Data Studio см. в статье "Отображение и сохранение планов выполнения".
План выполнения запроса — это определение:
Последовательности, в которой происходит обращение к исходным таблицам.
Как правило, существует много последовательностей, в которых сервер базы данных может обращаться к базовым таблицам для построения результирующего набора. Например, если инструкция
SELECTссылается на три таблицы, сервер базы данных сначала может обратиться кTableA, использовать данные изTableAдля извлечения соответствующих строк изTableB, а затем использовать данные изTableBдля извлечения данных изTableC. Другие последовательности, в которых сервер базы данных может обращаться к таблицам:
TableC,TableB,TableAили
TableB,TableA,TableCили
TableB,TableC,TableAили
TableCTableATableBМетоды, используемые для извлечения данных из каждой таблицы.
Есть различные методы для обращения к данным в каждой таблице. Если необходимы только несколько строк с определенными ключевыми значениями, то сервер базы данных может использовать индекс. Если необходимы все строки в таблице, то сервер базы данных может пропустить индексы и выполнить просмотр таблицы. Если все строки таблицы необходимы, но есть индекс, ключевые столбцы которого находятся в элементе
ORDER BY, выполнение проверки индекса вместо сканирования таблицы может сохранить отдельный результирующий набор. Если таблица небольшая, сканирование таблиц может быть наиболее эффективным методом для почти всего доступа к таблице.Методы, используемые для вычислений, а также фильтрации, статистической обработки и сортировки данных из каждой таблицы.
По мере доступа к данным из таблиц можно разными способами выполнять вычисления над данными (например, вычисления скалярных значений), а также статистическую обработку и сортировку данных, как определено в тексте запроса (например, при использовании предложения
GROUP BYилиORDER BY) и их фильтрацию (например, при использовании предложенияWHEREилиHAVING).
Связанный контент
- Наблюдение и настройка производительности
- Средства мониторинга производительности и настройки
- Руководство по архитектуре обработки запросов
- Динамическая статистика запросов
- Монитор активности
- Мониторинг производительности с использованием хранилища запросов
- sys.dm_exec_query_statistics_xml
- sys.dm_exec_query_profiles
- Установка флагов трассировки с помощью DBCC TRACEON (Transact-SQL)
- Справочник по операторам логического и физического плана выполнения
- Инфраструктура профилирования запросов
- Отображение и сохранение планов выполнения
- Сравнение и анализ планов выполнения
- Руководства по планированию