Kopsavilkums
Šis atjauninājums iepazīstina ar jaunu vaicājuma atgādinājuma argumentu, Izmantojiet mājienu, kas sniedz iespēju vadīt vaicājuma optimizētāju, neizmantojot papildu akreditācijas datus vai neesot sysadmin servera lomas dalībniekam. Šīs jaunās vaicājumu atgādinājuma sintakse līdzinās tālāk norādītajam.
<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}
Šajā atjauninājumā ir ieviests arī tālāk norādītās norādes opcijas, ko var izmantot, izmantojot argumentu argumenta izmantošana .
Opciju |
Ekvivalentais izsekošanas karodziņš |
Aprakstu |
Attiecas uz |
---|---|---|---|
ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS |
TF 9476 |
Liek SQL Server ģenerēt vaicājumu plānu, izmantojot vienkāršu lokalizācijas pieņēmumu, nevis noklusējuma bāzi, kas ietver savienojumus, zem vaicājuma optimizētāja SQL Server 2014 (12. x) vai jaunāka versija. |
|
ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES |
TF 4137 |
Izraisa SQL Server ģenerēšanas plāna izmantošanu, izmantojot minimālu selektivitāti, aplēšot un Predikātus filtros atbilstoši korelācijas kontam. Šis atgādinājuma nosaukums ir paralēls izsekošanas karodziņš 4137, izmantojot ar, piemēram, SQL server 2012 (11. x) un vecākām versijām, tiek izmantots ar līdzīgu efektu, kad trasēšanas karodziņš 9471 tiek lietots kopā ar, izmantojot SQL Server 2014 (12. x) vai jaunāku versiju. |
|
DISABLE_BATCH_MODE_ADAPTIVE_JOINS |
Atspējo paketes režīmu adaptīvajiem savienojumiem. |
sākot ar SQL Server 2017 |
|
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK |
Atspējo batch režīma atmiņas sniegt atsauksmes. |
sākot ar SQL Server 2017 |
|
DISABLE_DEFERRED_COMPILATION_TV |
Atspējo tabulas mainīgā atlikšanas kompilēšanu. |
sākot ar SQL Server 2019 |
|
DISABLE_INTERLEAVED_EXECUTION_TVF |
Atspējo paveikto vairāku priekšrakstu tabulveida funkciju izpildi. |
sākot ar SQL Server 2017 |
|
DISABLE_OPTIMIZED_NESTED_LOOP |
TF 2340 |
Uzdod vaicājuma pārstrādātājam neizmantot kārtošanas darbību (paketes kārtošana) optimizētajiem ligzdotajiem cilpas savienojumiem, ģenerējot vaicājumu plānu. |
|
DISABLE_OPTIMIZER_ROWGOAL |
TF 4138 |
Liek SQL Server ģenerēt plānu, kas neizmanto rindu mērķa modifikācijas ar vaicājumiem, kuros ir šie atslēgvārdi:
|
|
DISABLE_PARAMETER_SNIFFING |
TF 4136 |
Instruē vaicājumu optimizētājs izmantot vidējo datu sadalījumu, kompilējot vaicājumu ar vienu vai vairākiem parametriem. Šajā instrukcijā vaicājumu plāns ir neatkarīgs no parametra vērtības, kas tika pirmoreiz izmantota vaicājuma kompilēšanas laikā. Izmantojiet šo atgādinājumu, lai ignorētu datu bāzes tvēruma konfigurācijas iestatījumu PARAMETER_SNIFFING = izslēgts. |
|
DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK |
Atspējo rindas režīma atmiņas piešķiršanu. |
sākot ar SQL Server 2019 |
|
DISABLE_TSQL_SCALAR_UDF_INLINING |
Atspējo skalāras UDF pasvītrojumu. |
sākot ar SQL Server 2019 |
|
DISALLOW_BATCH_MODE |
Atspējo paketes režīma izpildi. |
sākot ar SQL Server 2019 |
|
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS |
TF 4139 |
Iespējo automātisku ģenerēt ātro statistiku (histogrammas grozījums) jebkurai vadošajai indeksa kolonnai, kurā ir nepieciešams vērtētāja novērtējums. Lai novērtētu kardinālu, pēc tam vaicājumu kompilēšanas laiks tiek pielāgots, lai uzskaitītu šīs kolonnas faktisko maksimālo vai mazāko vērtību. |
|
ENABLE_QUERY_OPTIMIZER_HOTFIXES |
TF 4199 |
Iespējo vaicājumu optimizētāja labojumfailus (izmaiņas, kas izlaistas SQL Server kumulatīvajos atjauninājumos un servisa pakotnēs). Izmantojiet šo atgādinājumu, lai ignorētu Datu bāzes skata konfigurācijas iestatījums QUERY_OPTIMIZER_HOTFIXES = ieslēgts. |
|
FORCE_DEFAULT_CARDINALITY_ESTIMATION |
TF 9481 |
Liek vaicājuma optimizētājs izmantot Pašreizējā datu bāzes saderības līmenim atbilstošs kardināla vērtēšanas modelis. Izmantojiet šo atgādinājumu, lai ignorētuDatu bāzes tvēruma konfigurācijas iestatījums LEGACY_CARDINALITY_ESTIMATION = ieslēgts. |
|
FORCE_LEGACY_CARDINALITY_ESTIMATION |
TF 9481 |
Liek vaicājuma optimizētājs izmantot SQL Server 2012 (11. x) un iepriekšējo versiju pārvērtēšanas modelis. Izmantojiet šo atgādinājumu, lai ignorētu datu bāzes tvēruma konfigurācijas iestatījumu LEGACY_CARDINALITY_ESTIMATION = ieslēgts. |
|
QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n |
Spiež vaicājumu optimizētāja darbību vaicājuma līmenī. Šī darbība notiek, ja vaicājums ir kompilēts ar datu bāzes saderības līmeni n, kur n ir atbalstīts datu bāzes saderības līmenis. Skatiet sadaļusys.dm_exec_valid_use_hints sarakstu ar pašlaik atbalstītajām vērtībām n. |
sākot ar SQL Server 2017 (14. x) 10 VV |
Papildinformāciju skatiet rakstā ieteikumi (Transact-SQL) — vaicājums.
Papildinformācija
Šis atjauninājums ir iekļauts SQL Server 2016 1. servisa pakotnē .
Katrā jaunajā SQL Server 2016 būvējumā ir ietverti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā būvējumā. Ieteicams instalēt jaunāko būvējumu SQL Server 2016.
Scenāriji, kuros SQL Server vaicājumu optimizētājs (QO) darbība ir jādod mājiens, ir diezgan izplatīti, un parasti tie tiek risināti, izmantojot vairākas (dokumentētas un nedokumentētas) izsekošanas karodziņus. Tomēr, ja izsekošanas karodziņi ir iestatīti vispārēji, tiem var būt negatīva ietekme uz citām darba slodzēm. Turklāt to iespējošana sesijā nav praktiskas ar esošajām lietojumprogrammām un iespējojot to per-Query ar opciju QUERYTRACEON ir nepieciešama dalība administratoru fiksētā servera lomā. (Lai gan varat veikt šo darbību, izmantojot plānu rokasgrāmatu vai saglabāto procedūru, joprojām ir nepieciešami palielinātie akreditācijas dati.) Izsekošanas karodziņi tiek izmantoti, lai īslaicīgi iestatītu noteiktus servera raksturlielumus vai izslēgtu konkrētu darbību, tās var būt grūti pārvaldīt un saprast. Informāciju par izsekošanas karodziņiem skatiet Microsoft izstrādātāju tīkla (MSDN) tīmekļa vietnē izsekošanas karodziņi (Transact-SQL) .
Atsauces
Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.