Podsumowanie
W tej aktualizacji wprowadzono nowy argument wskazówki kwerendy, Użyj wskazówki, która umożliwia nadawanie Optymalizatorowi zapytań uprawnień bez podniesionych poświadczeń lub nie będąc członkiem roli serwera sysadmin. Składnia nowej wskazówki dotyczącej kwerendy jest podobna do następującej:
<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}
Ta aktualizacja zawiera również następujące opcje wskazówek, których można używać z argumentem Wskazówka use.
Pola |
Równoważna flaga śledzenia |
Opis |
Dotyczy |
---|---|---|---|
ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS |
TF 9476 |
Powoduje, że program SQL Server generuje plan kwerendy przy użyciu prostego założenia, zamiast domyślnego założeń dotyczących rozprzestrzeniania dla sprzężeń w obszarze optymalizator zapytań. Model oceny kardynalności programu SQL Server 2014 (12. x) lub nowszej. |
|
ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES |
TF 4137 |
Powoduje, że program SQL Server generuje plan z minimalną selektywnością podczas szacowania i predykatów filtrów w celu przeprowadzenia korelacji. Ta nazwa wskazówki jest równoległa do Flaga śledzenia 4137 używana z modelem oceny kardynalności programu SQL Server 2012 (11. x) i starszymi wersjami i ma podobne efekty, gdy flaga śledzenia 9471 jest używana z modelem oceny kardynalności programu SQL Server 2014 (12. x) lub nowszej. |
|
DISABLE_BATCH_MODE_ADAPTIVE_JOINS |
Wyłącza sprzężenia adaptacyjne trybu wsadowego. |
Rozpoczynanie pracy z programem SQL Server 2017 |
|
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK |
Wyłącza w trybie wsadowym opinie dotyczące przydzielenia pamięci. |
Rozpoczynanie pracy z programem SQL Server 2017 |
|
DISABLE_DEFERRED_COMPILATION_TV |
Wyłącza kompilację odroczoną zmiennej tabeli. |
Rozpoczynanie pracy z programem SQL Server 2019 |
|
DISABLE_INTERLEAVED_EXECUTION_TVF |
Wyłącza przeplot w przypadku funkcji z wartościami opartymi na tabelach z wieloma instrukcjami. |
Rozpoczynanie pracy z programem SQL Server 2017 |
|
DISABLE_OPTIMIZED_NESTED_LOOP |
TF 2340 |
Instruuje procesor zapytań, aby nie używać operacji sortowania (sortowanie wsadowe) dla zoptymalizowanych sprzężeń zagnieżdżonych podczas generowania planu kwerend. |
|
DISABLE_OPTIMIZER_ROWGOAL |
TF 4138 |
Powoduje, że program SQL Server generuje plan, który nie używa modyfikacji celu wiersza z kwerendami, które zawierają te słowa kluczowe:
|
|
DISABLE_PARAMETER_SNIFFING |
TF 4136 |
Instruuje optymalizator zapytań, aby użyć średniej dystrybucji danych podczas kompilowania zapytania z co najmniej jednym parametrem. Ta instrukcja umożliwia wykonywanie planu zapytań niezależnie od wartości parametru, która była używana po raz pierwszy podczas kompilowania zapytania. Ta wskazówka umożliwia zastąpienie ustawienia konfiguracji zakresu bazy danych PARAMETER_SNIFFING = wył .. |
|
DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK |
Wyłącza możliwość przydzielenia pamięci w trybie wiersza. |
Rozpoczynanie pracy z programem SQL Server 2019 |
|
DISABLE_TSQL_SCALAR_UDF_INLINING |
Wyłącza skalarne wykreślenie UDF. |
Rozpoczynanie pracy z programem SQL Server 2019 |
|
DISALLOW_BATCH_MODE |
Wyłącza wykonywanie w trybie wsadowym. |
Rozpoczynanie pracy z programem SQL Server 2019 |
|
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS |
TF 4139 |
Umożliwia automatyczne generowanie szybkich statystyk (poprawka histogramu) dla dowolnej kolumny indeksu interlinii, dla której jest wymagane szacowanie kardynalności. Histogram służący do szacowania Kardynalność zostanie dostosowany do czasu kompilacji kwerendy, aby uwzględnić rzeczywistą maksymalną lub minimalną wartość tej kolumny. |
|
ENABLE_QUERY_OPTIMIZER_HOTFIXES |
TF 4199 |
Umożliwia poprawki optymalizatora zapytań (zmiany opublikowane w zbiorczych aktualizacjach i dodatkach Service Pack programu SQL Server). Ta wskazówka umożliwia zastąpienie Ustawienie konfiguracji zakresu bazy danych QUERY_OPTIMIZER_HOTFIXES = włączone. |
|
FORCE_DEFAULT_CARDINALITY_ESTIMATION |
TF 9481 |
Wymusza używanie optymalizatora zapytań Model oszacowania kardynalności odpowiadający bieżącemu poziomowi zgodności bazy danych. Ta wskazówka umożliwia zastąpienie Ustawienie konfiguracji zakresu bazy danych LEGACY_CARDINALITY_ESTIMATION = włączone. |
|
FORCE_LEGACY_CARDINALITY_ESTIMATION |
TF 9481 |
Wymusza używanie optymalizatora zapytań Model oceny kardynalności programu SQL Server 2012 (11. x) i wcześniejszych wersji. Ta wskazówka umożliwia zastąpienie ustawienia konfiguracji zakresu bazy danych LEGACY_CARDINALITY_ESTIMATION = wł .. |
|
QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n |
Wymusza zachowanie optymalizatora zapytań na poziomie kwerendy. To zachowanie występuje, jeśli kwerenda została skompilowana przy użyciu poziomu zgodności bazy danych n, gdzie n to obsługiwany poziom zgodności bazy danych. Zobaczsys.dm_exec_valid_use_hints listę obecnie obsługiwanych wartości dla n. |
Rozpoczynanie pracy w programie SQL Server 2017 (14. x) CU10 |
Aby uzyskać więcej informacji, zobacz wskazówki (Transact-SQL)-Query.
Więcej informacji
Ta aktualizacja jest dostępna w dodatku Service Pack 1 dla programu SQL Server 2016.
Każda nowa kompilacja dla programu SQL Server 2016 zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla programu SQL Server 2016.
Scenariusze, w których zachowanie funkcji optymalizator kwerend programu SQL Server Query (QO) musi być dość popularne, i tradycyjnie są one adresowane przy użyciu kilku (udokumentowanych i nieudokumentowanych) flag śledzenia. Jednak jeśli flagi śledzenia są ustawione globalnie, mogą one mieć negatywny wpływ na inne obciążenia. Ponadto włączenie ich w trakcie sesji nie jest praktyczne z istniejącymi aplikacjami i włączenie ich w kwerendach z opcją QUERYTRACEON wymaga członkostwa w stałej roli serwera sysadmin. (Choć można obejść ten problem, korzystając z przewodnika planu lub procedury składowanej, nadal są wymagane poświadczenia z podwyższonym poziomem uprawnień). Za pomocą flag śledzenia można tymczasowo ustawić określone charakterystyki serwera lub wyłączyć określone zachowanie, które mogą być trudne do zarządzania i zrozumienia. Aby uzyskać informacje na temat flag śledzenia, zobacz temat flagi śledzenia (Transact-SQL) w witrynie internetowej Microsoft Developer Network (MSDN).
Informacje
Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.