Обобщена информация
Тази актуализация въвежда нов аргумент за намек за заявка, Използвайте подсказване, което ви позволява да управлявате оптимизатора на заявки без повишени идентификационни данни или без да сте член на ролята на незаменим Server. Синтаксисът на това ново подсещане за заявка прилича на следното:
<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 да генерира план с помощта на минималната селективност при оценка и предикати за филтри, за да се вземе предвид корелация. Това име на подсказване е успоредно на Трейс Flag 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 |
Забранява необвързването на скаларни СДС. |
стартиране в 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 = вкл .. |
|
FORCE_DEFAULT_CARDINALITY_ESTIMATION |
TF 9481 |
Принуждава оптимизатора на заявки да се използва Модел на оценка на кардиналност, който отговаря на текущото ниво на съвместимост на базата данни. Използвайте този намек, за да заместитеНастройката за конфигуриране на базата данни LEGACY_CARDINALITY_ESTIMATION = вкл. |
|
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 |
За повече информация вижте пояснения (преговаряне – SQL) – заявка.
Повече информация
Тази актуализация е включена в Service Pack 1 за SQL Server 2016.
Всяка нова компилация за SQL Server 2016 съдържа всички поправки и всички корекции на защитата, които са били включени в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за SQL Server 2016.
Сценариите, в които трябва да се намеква поведението на SQL Server Query (QO), са доста чести и по традиция те се адресират с помощта на няколко (документирани и недокументирани) проследяващи флагове. Когато обаче флаговете за проследяване се задават глобално, те може да имат неблагоприятен ефект върху други натоварвания. Освен това, разрешаването им за всяка сесия не е практично със съществуващи приложения и разрешаването им за заявка с опция QUERYTRACEON изисква членството в ролята на фиксиран сървър на незаменим. (Въпреки че можете да заобиколите този проблем, като използвате ръководство за план или съхранена процедура, все още се изискват повишени идентификационни данни.) Флаговете за проследяване се използват, за да задавате временно определени характеристики на сървъра или да изключвате конкретно поведение, може да е трудно да ги управлявате и разбирате. За информация за флаговете за проследяване вижте темата за проследяване на флагове (преговаряй SQL) в уеб сайта на Microsoft Developer NETWORK (MSDN).
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.