Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: 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
Функция интеллектуальной обработки запросов | Поддержка в Базе данных SQL Azure | Поддерживается в предварительной версии SQL Server 2025 (17.x) | Описание |
---|---|---|---|
Оптимизированная защита Хэллоуина | нет | Да, начиная с SQL Server 2025 (17.x) предварительная версия с уровнем совместимости 170 | Уменьшает tempdb потребление пространства и повышает производительность запросов, не используя подполок для защиты Хэллоуина. |
Дополнительная оптимизация плана параметров (OPPO) | нет | Да, начиная с SQL Server 2025 (17.x) предварительная версия с уровнем совместимости 170 | Использует инфраструктуру оптимизации адаптивного плана (Multiplan), которая была представлена вместе с улучшением оптимизации плана, чувствительной к параметрам (PSPO), и позволяет генерировать несколько планов из одного запроса. Эта функция может во время выполнения выбрать более оптимальный план на основе того, является ли параметр NULL OR NOT NULL , что повышает производительность запросов, которые в противном случае могли бы показать неоптимальную производительность для таких шаблонов запросов. |
Оценка кратности (CE) для выражений | нет | Да, начиная с SQL Server 2025 (17.x) предварительная версия с уровнем совместимости 160 | Расширяет использование данных CE для улучшения оценки кратности повторяющихся выражений в запросах, учась на предыдущих выполнениях и автоматически применяя соответствующие варианты модели оценки кратности к будущим выполнениям этих выражений. |
OPTIMIZED_SP_EXECUTESQL | Да | Да, начиная с предварительной версии SQL Server 2025 (17.x) | Эффективно снижать воздействие бурь компиляции. Штормы компиляции относятся к ситуации, когда большое количество запросов компилируется одновременно, что приводит к проблемам производительности и спору ресурсов. Включите эту функцию, чтобы вызовы sp_executesql вели себя как объекты, такие как хранимые процедуры и триггеры, с точки зрения компиляции. |
Функции IQP для Базы данных SQL Azure и SQL Server 2022
Функция интеллектуальной обработки запросов | Поддержка в Базе данных SQL Azure | Поддерживается в SQL Server 2022 (16.x) и более поздних версиях | Описание |
---|---|---|---|
Адаптивные соединения в пакетном режиме | Да, начиная с уровня совместимости базы данных 140 | Да, начиная с SQL Server 2017 (14.x) с уровнем совместимости базы данных 140 | При использовании адаптивных соединений тип соединения выбирается динамически во время выполнения в зависимости от фактических входных строк. |
Приблизительный подсчет различных объектов | Да | Да, начиная с 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 . |
Оптимизированная схема принудительного использования хранилища запросов | Да | Да, начиная с 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
Функция интеллектуальной обработки запросов | Поддерживается в Управляемый экземпляр SQL Azure | Описание |
---|---|---|
Адаптивные соединения в пакетном режиме | Да, начиная с уровня совместимости базы данных 140 | При использовании адаптивных соединений тип соединения выбирается динамически во время выполнения в зависимости от фактических входных строк. |
Приблизительный подсчет различных объектов | Да | Предоставьте приблизительные решения COUNT DISTINCT для сценариев больших данных с преимуществами высокой производительности и низкими требованиями к памяти. |
Приблизительный процентиль | Да, начиная с уровня совместимости базы данных 110 | Быстрое вычисление процентилей для большого набора данных с допустимыми границами ошибок на основе ранга, чтобы помочь принимать быстрые решения с помощью приблизительных статистических функций процентиля. |
Пакетный режим для данных rowstore | Да, начиная с уровня совместимости базы данных 150 | Пакетный режим для рабочих нагрузок реляционного хранилища данных, ограниченных производительностью ЦП, без необходимости использовать индексы columnstore. |
Оценка кратности (CE) отзывы | Да, начиная с уровня совместимости базы данных 160 | Автоматически корректирует оценки кратности для повторяющихся запросов для оптимизации рабочих нагрузок, в которых неэффективные предположения CE вызывают низкую производительность запросов. Обратная связь CE будет определять и использовать предположение модели, которое лучше подходит заданному запросу и распределению данных, чтобы улучшить качество плана выполнения запроса. |
Степень параллелизма (DOP) обратной связи | Да, начиная с уровня совместимости базы данных 160 в политике обновления 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) | Описание |
---|---|---|
Адаптивные соединения в пакетном режиме | Да, начиная с SQL Server 2017 (14.x) с уровнем совместимости базы данных 140 | При использовании адаптивных соединений тип соединения выбирается динамически во время выполнения в зависимости от фактических входных строк. |
Приблизительный подсчет различных объектов | Да | Предоставьте приблизительные решения COUNT DISTINCT для сценариев больших данных с преимуществами высокой производительности и низкими требованиями к памяти. |
Пакетный режим для данных rowstore | Да, начиная с уровня совместимости базы данных 150 | Пакетный режим для рабочих нагрузок реляционного хранилища данных, ограниченных производительностью ЦП, без необходимости использовать индексы columnstore. |
Выполнение с чередованием | Да, начиная с уровня совместимости базы данных 140 | Использование фактической кратности из выходных данных функции с табличным значением с несколькими инструкциями, обнаруженной при первой компиляции, вместо фиксированной оценки. |
Отзыв о предоставлении памяти (пакетный режим) | Да, начиная с уровня совместимости базы данных 140 | Если при выполнении запроса в пакетном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
Отзыв о предоставлении памяти (режим строк) | Да, начиная с уровня совместимости базы данных 150 | Если при выполнении запроса в построчном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
Встраивание скалярных определяемых пользователем функций | Да, начиная с уровня совместимости базы данных 150 | Скалярные пользовательские функции преобразуются в эквивалентные реляционные выражения, которые "встраиваются" в вызывающий запрос, что часто приводит к существенному повышению производительности. |
Отложенная компиляция табличных переменных | Да, начиная с уровня совместимости базы данных 150 | Использование фактической кратности табличной переменной, обнаруженной при первой компиляции, вместо фиксированной оценки. |
Функции IQP для SQL Server 2017
Функция IQP | Поддерживается в SQL Server 2017 (14.x) | Описание |
---|---|---|
Адаптивные соединения в пакетном режиме | Да, начиная с SQL Server 2017 (14.x) с уровнем совместимости базы данных 140 | При использовании адаптивных соединений тип соединения выбирается динамически во время выполнения в зависимости от фактических входных строк. |
Приблизительный подсчет различных объектов | Да | Предоставьте приблизительные решения COUNT DISTINCT для сценариев больших данных с преимуществами высокой производительности и низкими требованиями к памяти. |
Выполнение с чередованием | Да, начиная с уровня совместимости базы данных 140 | Использование фактической кратности из выходных данных функции с табличным значением с несколькими инструкциями, обнаруженной при первой компиляции, вместо фиксированной оценки. |
Отзыв о предоставлении памяти (пакетный режим) | Да, начиная с уровня совместимости базы данных 140 | Если при выполнении запроса в пакетном режиме некоторые операции переносятся на диск, объем памяти для последующих выполнений увеличивается. Если запрос тратит > 50 % выделенной памяти, уменьшите размер предоставления памяти для последовательных выполнений. |
требование хранилище запросов
Для использования пользовательской базы данных хранилище запросов необходимо включить несколько функций интеллектуальной обработки запросов. Чтобы включить хранилище запросов, см. раздел "Включить хранилище запросов".
Связанный контент
- Функции интеллектуальной обработки запросов подробно
- Соединения (SQL Server)
- Режимы выполнения
- Руководство по архитектуре обработки запросов
- Справочник по операторам логического и физического плана выполнения
- Новые возможности SQL Server 2017
- Новые возможности SQL Server 2019
- Новые возможности SQL Server 2022
- Отзыв о предоставлении памяти
- Демонстрация интеллектуальной обработки запросов
- Свертывание констант и вычисление выражений
- Интеллектуальные демонстрации обработки запросов на GitHub
- Центр производительности для базы данных SQL Azure и ядра СУБД SQL Server
- Мониторинг производительности с использованием хранилища запросов
- Рекомендации по мониторингу рабочих нагрузок с помощью хранилище запросов