Аннотация

В этом обновлении представлен новый аргумент подсказок запроса, используется ПОДсказка, с помощью которой можно создать оптимизатор запросов без повышенных учетных данных или не входить в роль сервера sysadmin. Синтаксис этой новой подсказкы запроса напоминает следующее:

<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}

В этом обновлении также представлены следующие варианты, которые можно использовать с аргументом " использовать ПОДсказку ".

Сочетани

Эквивалентный флаг трассировки

Описание

Применимо к

ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS

TF 9476

Вызывает SQL Server для создания плана запроса с использованием простого предположения о вложении, а не основного предположения по умолчанию для соединений в оптимизаторе запросов. Модель оценки кратности SQL server 2014 (12. x) или более поздней.

ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES

TF 4137

Приводит к тому, что SQL Server создает план с использованием минимальной избирательности при оценке и предикатах для учета корреляции для фильтров. Это имя подсказки параллельно флаг трассировки 4137 при использовании с моделью оценки количества элементов SQL server 2012 (11. x) и более ранних версий и имеет похожий эффект при использовании флага трассировки 9471 для модели оценки кратности SQL Server 2014 (12. x) или более поздней.

DISABLE_BATCH_MODE_ADAPTIVE_JOINS

Отключает адаптивные соединения пакетного режима.

начиная с SQL Server 2017

DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK

Отключение предоставления обратной связи в памяти пакетного режима.

начиная с SQL Server 2017

DISABLE_DEFERRED_COMPILATION_TV

Отключает отложенную компиляцию переменной таблицы.

начиная с SQL Server 2019

DISABLE_INTERLEAVED_EXECUTION_TVF

Отключение чередования для функций, возвращающих табличное значение с несколькими инструкциями.

начиная с SQL Server 2017

DISABLE_OPTIMIZED_NESTED_LOOP

TF 2340

Указывает, что обработчик запросов не должен использовать операцию сортировки (пакетную сортировку) для оптимизированных вложенных соединений цикла при формировании плана запроса.

DISABLE_OPTIMIZER_ROWGOAL

TF 4138

Приводит к тому, что SQL Server создает план, который не использует изменения цели строки в запросах, содержащих указанные ниже ключевые слова.

  • Вверх

  • ПАРАМЕТР (FAST N)

  • ВОЗВРАТА

  • Существует

DISABLE_PARAMETER_SNIFFING

TF 4136

Указывает оптимизатору запросов, что следует использовать среднее распределение данных при компиляции запроса с одним или несколькими параметрами. Эта инструкция делает план запроса независимым от значения параметра, который был первоначально использован при компиляции запроса. Используйте эту подсказку, чтобы переопределить параметр конфигурации уровня базы данных PARAMETER_SNIFFING = Off ..

DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK

Отключение режима строки предоставление обратной связи в памяти.

начиная с SQL Server 2019

DISABLE_TSQL_SCALAR_UDF_INLINING

Отключение скалярной подстановки UDF.

начиная с SQL Server 2019

DISALLOW_BATCH_MODE

Отключение выполнения пакетного режима.

начиная с SQL Server 2019

ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS

TF 4139

Включает автоматическое создание быстрой статистики (поправки гистограммы) для столбца с ведущим индексом, для которого требуется оценка количества элементов. Гистограмма, используемая для оценки мощности, будет скорректирована во время компиляции запроса для учета фактического максимального или минимального значения этого столбца.

ENABLE_QUERY_OPTIMIZER_HOTFIXES

TF 4199

Включает исправления оптимизатора запросов (изменения, выпускаемые в накопительных обновлениях и пакетах обновления для SQL Server). Используйте эту подсказку для переопределения Параметр конфигурации уровня базы данных QUERY_OPTIMIZER_HOTFIXES = on.

FORCE_DEFAULT_CARDINALITY_ESTIMATION

TF 9481

Принудительное использование оптимизатора запросов Модель оценки кратности , которая соответствует текущему уровню совместимости базы данных. Используйте эту подсказку для переопределения Параметр конфигурации уровня базы данных LEGACY_CARDINALITY_ESTIMATION = on.

FORCE_LEGACY_CARDINALITY_ESTIMATION

TF 9481

Принудительное использование оптимизатора запросов Модель оценки кратности SQL server 2012 (11. x) и более ранних версий. Используйте эту подсказку, чтобы переопределить параметр конфигурации уровня базы данных LEGACY_CARDINALITY_ESTIMATION = on ..

QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n

Вызывает принудительное поведение оптимизатора запросов на уровне запроса. Такое поведение происходит, как если бы запрос был скомпилирован с уровнем совместимости базы данных. n, где n — поддерживаемый уровень совместимости баз данных. Ссылка наsys.dm_exec_valid_use_hints список поддерживаемых в настоящее время значений для n.

начиная с SQL Server 2017 (14. x) CU10

Дополнительные сведения можно найти в разделе Советы (Transact-SQL)-Query.

Дополнительная информация

Это обновление входит в состав пакета обновления 1 (SP1) для SQL Server 2016.

 

Каждая новая сборка для SQL Server 2016 содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущую сборку. Мы рекомендуем установить последнюю сборку для SQL server 2016.

Сценарии, в которых поведение оптимизатора запросов SQL Server (QO) необходимо указывать довольно часто, и традиционно они решаются с помощью нескольких (задокументированных и недокументированных) флагов трассировки. Тем не менее, если флаги трассировки заданы глобально, они могут негативно повлиять на другие рабочие нагрузки. Кроме того, включение сеансов для каждого сеанса нецелесообразно для существующих приложений, и при этом для каждого запроса с параметром QUERYTRACEON требуется членство в фиксированной роли сервера sysadmin. (Несмотря на то, что вы можете обойти эту проблему с помощью руководства плана или хранимой процедуры, по-прежнему требуются учетные данные с повышенными привилегиями.) Флаги трассировки используются для временного задания конкретных характеристик сервера или переключения определенного поведения, поэтому они могут быть сложны для управления и понимания. Сведения о флагах трассировки можно найти в разделе Флаги трассировки (Transact-SQL) на веб-сайте Microsoft Developer Network (MSDN).

Ссылки

Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Совершенствование навыков

Перейти к обучению >

Первоочередный доступ к новым возможностям

Присоединение к программе предварительной оценки Майкрософт >

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×