Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в предварительной версии Microsoft Fabric
Семейство функций интеллектуальной обработки запросов включает средства, которые значительно повышают производительность существующих рабочих нагрузок и требуют минимальных усилий при реализации для внедрения. На следующем рисунке описано семейство функций IQP и когда они были впервые представлены для SQL Server. Все функции IQP доступны в Управляемый экземпляр SQL Azure и База данных SQL Azure. Некоторые функции зависят от уровня совместимости базы данных.
Просмотрите это видео, чтобы просмотреть общие сведения об интеллектуальной обработке запросов:
Сведения о демонстрациях и образце кода функций интеллектуальной обработки запросов (IQP) на сайте GitHub см https://aka.ms/IQPDemos. в статье .
Рабочие нагрузки можно автоматически сделать подходящими для интеллектуальной обработки запросов, включив для базы данных соответствующий уровень совместимости. Это можно сделать с помощью Transact-SQL. Рассмотрим пример.
ALTER DATABASE [WideWorldImportersDW]
SET COMPATIBILITY_LEVEL = 170;
В приведенной ниже таблице представлены все функции интеллектуальной обработки запросов и предъявляемые ими требования к уровню совместимости базы данных. Подробные сведения обо всех функциях IQP, включая заметки о выпуске и более подробные описания, см. в подробной статье о функциях интеллектуальной обработки запросов.
Функции IQP для базы данных SQL Azure и ПРЕДВАРИТЕЛЬНОй версии SQL Server 2025
| Функция IQP | Поддержка в Базе данных SQL Azure | Поддерживается в предварительной версии SQL Server 2025 (17.x) | Description |
|---|---|---|---|
| Дополнительная оптимизация плана параметров (OPPO) | No | Да, начиная с SQL Server 2025 (17.x) предварительная версия с уровнем совместимости 170 | Использует инфраструктуру оптимизации адаптивного плана (Multiplan), которая была представлена вместе с улучшением оптимизации плана, чувствительной к параметрам (PSPO), и позволяет генерировать несколько планов из одного запроса. Эта функция может выбрать более оптимальный план во время выполнения, основываясь на том, является ли параметр NULL OR NOT NULL, что улучшает производительность запросов, которые в противном случае могли бы по умолчанию использовать неоптимальную производительность для таких шаблонов запросов. |
| Оценка кратности (CE) для выражений | No | Да, начиная с SQL Server 2025 (17.x) предварительная версия с уровнем совместимости 160 | Расширяет использование данных CE для улучшения оценки кратности повторяющихся выражений в запросах, учась на предыдущих выполнениях и автоматически применяя соответствующие варианты модели оценки кратности к будущим выполнениям этих выражений. |
| OPTIMIZED_SP_EXECUTESQL | Yes | Да, начиная с предварительной версии SQL Server 2025 (17.x) | Эффективно снижать воздействие бурь компиляции. Шторм компиляции — это ситуация, когда одновременно компилируется большое количество запросов, что приводит к проблемам производительности и проблемам с ресурсами. Включите эту функцию, чтобы вызовы sp_executesql вели себя как объекты, такие как хранимые процедуры и триггеры, с точки зрения компиляции. |
Функции IQP для Базы данных SQL Azure и SQL Server 2022
| Функция IQP | Поддержка в Базе данных SQL Azure | Поддерживается в SQL Server 2022 (16.x) и более поздних версиях | Description |
|---|---|---|---|
| Адаптивные соединения в пакетном режиме | Да, начиная с уровня совместимости базы данных 140 | Да, начиная с SQL Server 2017 (14.x) с уровнем совместимости базы данных 140 | При использовании адаптивных соединений тип соединения выбирается динамически во время выполнения в зависимости от фактических входных строк. |
| Приблизительный подсчет различных объектов | Yes | Да, начиная с SQL Server 2019 (15.x) | Предоставьте приблизительные решения COUNT DISTINCT для сценариев больших данных с преимуществами высокой производительности и низкими требованиями к памяти. |
| Приблизительный процентиль | Да, начиная с уровня совместимости базы данных 110 | Да, начиная с SQL Server 2022 (16.x) с уровнем совместимости 110 | Быстрое вычисление процентилей для большого набора данных с допустимыми границами ошибок на основе ранга, чтобы помочь принимать быстрые решения с помощью приблизительных статистических функций процентиля. |
| Пакетный режим для данных rowstore | Да, начиная с уровня совместимости базы данных 150 | Да, начиная с SQL Server 2019 (15.x) с уровнем совместимости 150 | Пакетный режим для рабочих нагрузок реляционного хранилища данных, ограниченных производительностью ЦП, без необходимости использовать индексы columnstore. |
| Оценка кратности (CE) отзывы | Да, начиная с уровня совместимости базы данных 160 | Да, начиная с SQL Server 2022 (16.x) с уровнем совместимости 160 | Автоматически корректирует оценки кратности для повторяющихся запросов для оптимизации рабочих нагрузок, в которых неэффективные предположения CE вызывают низкую производительность запросов. Обратная связь CE будет определять и использовать предположение модели, которое лучше подходит заданному запросу и распределению данных, чтобы улучшить качество плана выполнения запроса. |
| Степень параллелизма (DOP) обратной связи | Да, начиная с уровня совместимости базы данных 160 | Да, начиная с уровня совместимости базы данных 160 | Автоматически настраивает степень параллелизма для повторяющихся запросов, чтобы оптимизировать рабочие нагрузки, в которых неэффективный параллелизм может вызвать проблемы с производительностью. Требуется включить хранилище запросов. |
| Чередование выполнения | Да, начиная с уровня совместимости базы данных 140 | Да, начиная с SQL Server 2017 (14.x) с уровнем совместимости базы данных 140 | Использует фактическое кратность функции с табличным табличным значением, обнаруженной при первой компиляции вместо фиксированного предположения. |
| Отзыв о предоставлении памяти (пакетный режим) | Да, начиная с уровня совместимости базы данных 140 | Да, начиная с SQL Server 2017 (14.x) с уровнем совместимости базы данных 140 | Если при выполнении запроса в пакетном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
| Отзыв о предоставлении памяти (режим строк) | Да, начиная с уровня совместимости базы данных 150 | Да, начиная с SQL Server 2019 (15.x) с уровнем совместимости базы данных 150 | Если при выполнении запроса в построчном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
| Отзыв о предоставлении памяти (Процентиль) | Да, включена во всех базах данных | Да, начиная с SQL Server 2022 (16.x)) с уровнем совместимости базы данных 140 | Устраняет существующие ограничения предоставления отзывов о предоставлении памяти не навязчивым способом путем включения прошлого выполнения запроса для уточнения обратной связи. |
| Сохраняемость обратной связи с предоставлением памяти | Да, включена во всех базах данных | Да, начиная с SQL Server 2022 (16.x)) с уровнем совместимости базы данных 140 | Предоставляет новые функциональные возможности для сохранения отзывов о предоставлении памяти. Для базы данных необходимо включить хранилище запросов и установить режим READ_WRITE. |
| Сохраняемость отзывов CE | Да, начиная с уровня совместимости базы данных 160 | Да, начиная с SQL Server 2022 (16.x)) с уровнем совместимости базы данных 160 | Для базы данных необходимо включить хранилище запросов и установить режим READ_WRITE. |
| Оптимизированная схема принудительного использования хранилища запросов | Yes | Да, начиная с SQL Server 2022 (16.x)). | Уменьшает затраты на компиляцию для повторения принудительных запросов. Дополнительные сведения см. в разделе "Оптимизированный план" с помощью хранилище запросов. |
| Встраивание скалярных определяемых пользователем функций | Да, начиная с уровня совместимости базы данных 150 | Да, начиная с SQL Server 2019 (15.x) с уровнем совместимости базы данных 150 | Скалярные пользовательские функции преобразуются в эквивалентные реляционные выражения, которые "встраиваются" в вызывающий запрос, что часто приводит к существенному повышению производительности. |
| Оптимизация конфиденциального плана параметров | Да, начиная с уровня совместимости базы данных 160 | Да, начиная с SQL Server 2022 (16.x) с уровнем совместимости базы данных 160 | Оптимизация конфиденциального плана параметров устраняет сценарий, в котором один кэшированный план для параметризованного запроса не является оптимальным для всех возможных входящих значений параметров, например неоднородных распределений данных. |
| Отложенная компиляция табличных переменных | Да, начиная с уровня совместимости базы данных 150 | Да, начиная с SQL Server 2019 (15.x) с уровнем совместимости базы данных 150 | Использует фактическое кратность табличной переменной, обнаруженной при первой компиляции, вместо фиксированного предположения. |
Функции IQP для Управляемый экземпляр SQL Azure
| Функция IQP | Поддерживается в Управляемый экземпляр SQL Azure | Description |
|---|---|---|
| Адаптивные соединения в пакетном режиме | Да, начиная с уровня совместимости базы данных 140 | При использовании адаптивных соединений тип соединения выбирается динамически во время выполнения в зависимости от фактических входных строк. |
| Приблизительный подсчет различных объектов | Yes | Предоставьте приблизительные решения COUNT DISTINCT для сценариев больших данных с преимуществами высокой производительности и низкими требованиями к памяти. |
| Приблизительный процентиль | Да, начиная с уровня совместимости базы данных 110 | Быстрое вычисление процентилей для большого набора данных с допустимыми границами ошибок на основе ранга, чтобы помочь принимать быстрые решения с помощью приблизительных статистических функций процентиля. |
| Пакетный режим для данных rowstore | Да, начиная с уровня совместимости базы данных 150 | Пакетный режим для рабочих нагрузок реляционного хранилища данных, ограниченных производительностью ЦП, без необходимости использовать индексы columnstore. |
| Оценка кратности (CE) отзывы | Да, начиная с уровня совместимости базы данных 160 | Автоматически корректирует оценки кратности для повторяющихся запросов для оптимизации рабочих нагрузок, в которых неэффективные предположения CE вызывают низкую производительность запросов. Обратная связь CE будет определять и использовать предположение модели, которое лучше подходит заданному запросу и распределению данных, чтобы улучшить качество плана выполнения запроса. |
| Степень параллелизма (DOP) обратной связи | Да, начиная с уровня совместимости базы данных 160 в Управляемом экземпляре SQL Azure с политикой обновленияSQL Server 2025 или Always-up-to-date. Нет, это не касается политики обновления SQL Server 2022. | Автоматически настраивает степень параллелизма для повторяющихся запросов, чтобы оптимизировать рабочие нагрузки, в которых неэффективный параллелизм может вызвать проблемы с производительностью. Требуется включить хранилище запросов. |
| Чередование выполнения | Да, начиная с уровня совместимости базы данных 140 | Использует фактическое кратность функции с табличным табличным значением, обнаруженной при первой компиляции вместо фиксированного предположения. |
| Отзыв о предоставлении памяти (пакетный режим) | Да, начиная с уровня совместимости базы данных 140 | Если при выполнении запроса в пакетном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
| Отзыв о предоставлении памяти (режим строк) | Да, начиная с уровня совместимости базы данных 150 | Если при выполнении запроса в построчном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
| Отзыв о предоставлении памяти (Процентиль) | Да, начиная с уровня совместимости базы данных 160 | Устраняет существующие ограничения предоставления отзывов о предоставлении памяти не навязчивым способом путем включения прошлого выполнения запроса для уточнения обратной связи. |
| Сохраняемость отзывов о предоставлении памяти, CE и DOP | Да, начиная с уровня совместимости базы данных 160 | Предоставляет новые функциональные возможности для сохранения отзывов о предоставлении памяти. Отзывы CE и DOP всегда сохраняются. Для базы данных необходимо включить хранилище запросов и установить режим READ_WRITE. |
| Оптимизированная схема принудительного использования хранилища запросов | Без | Уменьшает затраты на компиляцию для повторения принудительных запросов. Дополнительные сведения см. в разделе "Оптимизированный план" с помощью хранилище запросов. |
| Встраивание скалярных определяемых пользователем функций | Да, начиная с уровня совместимости базы данных 150 | Скалярные пользовательские функции преобразуются в эквивалентные реляционные выражения, которые "встраиваются" в вызывающий запрос, что часто приводит к существенному повышению производительности. |
| Оптимизация конфиденциального плана параметров | Да, начиная с уровня совместимости базы данных 160 | Оптимизация плана конфиденциальности параметров устраняет сценарий, в котором один кэшированный план для параметризованного запроса не является оптимальным для всех возможных входящих значений параметров, например неоднородных распределений данных. |
| Отложенная компиляция табличных переменных | Да, начиная с уровня совместимости базы данных 150 | Использует фактическое кратность табличной переменной, обнаруженной при первой компиляции, вместо фиксированного предположения. |
Функции IQP для SQL Server 2019
| Функция IQP | Поддерживается в SQL Server 2019 (15.x) | Description |
|---|---|---|
| Адаптивные соединения в пакетном режиме | Да, начиная с SQL Server 2017 (14.x) с уровнем совместимости базы данных 140 | При использовании адаптивных соединений тип соединения выбирается динамически во время выполнения в зависимости от фактических входных строк. |
| Приблизительный подсчет различных объектов | Yes | Предоставьте приблизительные решения COUNT DISTINCT для сценариев больших данных с преимуществами высокой производительности и низкими требованиями к памяти. |
| Пакетный режим для данных rowstore | Да, начиная с уровня совместимости базы данных 150 | Пакетный режим для рабочих нагрузок реляционного хранилища данных, ограниченных производительностью ЦП, без необходимости использовать индексы columnstore. |
| Чередование выполнения | Да, начиная с уровня совместимости базы данных 140 | Использование фактической кратности из выходных данных функции с табличным значением с несколькими инструкциями, обнаруженной при первой компиляции, вместо фиксированной оценки. |
| Отзыв о предоставлении памяти (пакетный режим) | Да, начиная с уровня совместимости базы данных 140 | Если при выполнении запроса в пакетном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
| Отзыв о предоставлении памяти (режим строк) | Да, начиная с уровня совместимости базы данных 150 | Если при выполнении запроса в построчном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
| Встраивание скалярных определяемых пользователем функций | Да, начиная с уровня совместимости базы данных 150 | Скалярные пользовательские функции преобразуются в эквивалентные реляционные выражения, которые "встраиваются" в вызывающий запрос, что часто приводит к существенному повышению производительности. |
| Отложенная компиляция табличных переменных | Да, начиная с уровня совместимости базы данных 150 | Использование фактической кратности табличной переменной, обнаруженной при первой компиляции, вместо фиксированной оценки. |
Функции IQP для SQL Server 2017
| Функция IQP | Поддерживается в SQL Server 2017 (14.x) | Description |
|---|---|---|
| Адаптивные соединения в пакетном режиме | Да, начиная с SQL Server 2017 (14.x) с уровнем совместимости базы данных 140 | При использовании адаптивных соединений тип соединения выбирается динамически во время выполнения в зависимости от фактических входных строк. |
| Приблизительный подсчет различных объектов | Yes | Предоставьте приблизительные решения COUNT DISTINCT для сценариев больших данных с преимуществами высокой производительности и низкими требованиями к памяти. |
| Чередование выполнения | Да, начиная с уровня совместимости базы данных 140 | Использование фактической кратности из выходных данных функции с табличным значением с несколькими инструкциями, обнаруженной при первой компиляции, вместо фиксированной оценки. |
| Отзыв о предоставлении памяти (пакетный режим) | Да, начиная с уровня совместимости базы данных 140 | Если при выполнении запроса в пакетном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
требование хранилище запросов
Для использования пользовательской базы данных хранилище запросов необходимо включить несколько функций интеллектуальной обработки запросов. Чтобы включить хранилище запросов, см. раздел "Включить хранилище запросов".
Связанный контент
- Функции интеллектуальной обработки запросов подробно
- Соединения (SQL Server)
- Режимы выполнения
- Руководство по архитектуре обработки запросов
- Справочник по операторам логического и физического плана выполнения
- Новые возможности SQL Server 2017
- Новые возможности SQL Server 2019
- Новые возможности SQL Server 2022
- Отзыв о предоставлении памяти
- Демонстрация интеллектуальной обработки запросов
- Свертывание констант и вычисление выражений
- Интеллектуальные демонстрации обработки запросов на GitHub
- Центр производительности для базы данных SQL Azure и ядра СУБД SQL Server
- Мониторинг производительности с использованием хранилища запросов
- Рекомендации по мониторингу рабочих нагрузок с помощью хранилище запросов