Simptomi
Pieņemsim, ka izpildāt vaicājumu, kas ietver pievienošanos vai apkopojumu kolonnā, uz kuru attiecas gan viena kolonna, gan vairākas kolonnas statistika (kurā šī kolonna nav galvenā kolonna). Ja izmantojat noklusējuma pamatrādītājs (CE) SQL Server 2016, iespējams, nenovērtē skaitli atšķirīgu rindu. Tas noved pie neoptimāla vaicājuma izpildes plāna (piemēram: zema novērtēšana var izraisīt nepietiekamas atmiņas piešķiršanu jaukšanas operatoram, kas izraisa vaicājuma izplūdi uz tempdb).
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Risinājums
Šī problēma ir novērsta šajā SQL Server kumulatīvajā atjauninājumā:
Piezīme. Lai šis labojums stātos spēkā, ir jāiespējo vaicājumu optimizētāja labojumfaili, izmantojot izsekošanas karodziņu (TF) 4199 vai atbilstošo datu bāzes tvēruma konfigurāciju vai vaicājuma atgādinājuma opciju.
Par kumulatīvajiem SQL Server atjauninājumiem:
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Risinājums
Šo problēmu var novērst, pievienojot šādu vaicājuma atgādinājumu:
IZMANTOT HINT (' FORCE_LEGACY_CARDINALITY_ESTIMATION ')
Atsauces
Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.