Загальні відомості
У цьому оновленні наведено новий аргумент Підказка запиту, використайте підказку, яка дає змогу керувати оптимізатором запитів без підвищенних облікових даних або не будучи учасником ролі сервера системний адміністратор. Синтаксис цієї нової підказки запиту нагадує таке:
<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 для створення плану, який не використовує зміни цілі рядка з запитами, які містять ці ключові слова:
|
|
DISABLE_PARAMETER_SNIFFING |
TF 4136 |
За допомогою оптимізатора запитів можна використовувати середній розподіл даних під час компіляції запиту з одним або кількома параметрами. Ця інструкція робить план запиту незалежним від значення параметра, який уперше використовувався під час компіляції запиту. За допомогою цієї підказки можна змінити настройку конфігурації рівня бази даних PARAMETER_SNIFFING = вимкнуто. |
|
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 = увімкнуто .. |
|
QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n |
Примушує поведінку оптимізатора запитів на рівні запиту. Ця поведінка трапляється так, ніби запит було скомпільовано з рівнем сумісності баз даних. n, де n – це підтримуваний рівень сумісності баз даних. Посиланняsys.dm_exec_valid_use_hints список поточних підтримуваних значень для n. |
Запуск у SQL Server 2017 (14. x) CU10 |
Докладні відомості наведено в статті підказки (TRANSACT-SQL)-Query.
Додаткові відомості
Це оновлення входить до складу пакета оновлень 1 для SQL Server 2016.
У кожному новому збірці для SQL Server 2016 містяться всі виправлення та всі виправлення системи безпеки, які були включені до попередньої збірки. Радимо інсталювати найновішу версію для SQL Server 2016.
Сценарії, у яких має бути натякати SQL Server Query Optimizer (QO), мають бути достатньо поширені, і традиційно вони розглядаються за допомогою кількох (документованих і недокументованих) позначок трасування. Однак, коли позначки трасування встановлюються глобально, вони можуть негативно вплинути на інші навантаження. Крім того, Якщо ввімкнути їх для сеансу не практично з наявними програмами, а також активувати їх для запиту за допомогою параметра "queroteeon" , потрібно мати членство в ролі фіксованого сервера системний адміністратор. (Хоча цю поведінку можна обійти за допомогою посібника з планування або збереженої процедури, підвищені облікові дані все ще потрібні.) Прапори трасування використовуються, щоб тимчасово налаштувати певні характеристики сервера або вимкнути певну поведінку, вони можуть бути складно керувати та розбиратися. Докладні відомості про позначки трасування наведено в статті позначки трасування (Transact-SQL) на веб-сайті Microsoft Developer Network (MSDN).
Посилання
Відомості про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.