Kokkuvõte
Lisage uus EstimateRowsWithoutRowGoal päringu täitmise kava atribuut SQL Server 2017 kumulatiivne Update 3 (CU3) ja Microsoft SQL Server 2016 Service Pack 2 (SP2).
Kui päringu optimeerija hindab päringu täitmise plaani maksumust, eeldatakse, et kõigi allikate kõigi kvalifitseeruvate ridade töötlemine peab toimuma. Kuid mõned päringud põhjustavad päringu optimeerijat, et otsida plaani, mis tagastab väiksema arvu ridu kiiremini. See võib ilmneda juhul, kui päring kasutab ülataseme klauslit, kiiret number_rows päringu vihjet, a-või olemasolevat klauslit võiRidadeArv {number | @number_var} lauset. Sellisel juhul kasutab optimeerija päringu plaani prognoosimiseks rea-eesmärki. Kui rakendatakse rea eesmärgi plaani, vähendatakse päringu täitmise plaani ridade hinnangulist arvu. See on sellepärast, et plaan eeldab, et rea eesmärgi saavutamiseks tuleb töödelda väiksemat arvu ridu.
Märkus. Rea-eesmärgi abil tehtud prognoos on ligikaudsed. Kui tegelik andmete levitamine pole ühtlane, võib see olla väiksem kui tegelike ridade arv, mida tuleb töödelda. Seetõttu võib see luua ebaefektiivse päringu plaani. Selle probleemi vastukaaluna saate kasutada päringut Kasuta vihjet ("DISABLE_OPTIMIZER_ROWGOAL") või jälituslipp 4138.
Lisateavet leiate teemast värskenduste tutvustamine funktsiooni Hint Query Hint argumendina SQL Server 2016. Siiski võib keerukate päringute abil teha kindlaks, kas rea eesmärk on rakendatud ja kui palju see mõjutab plaani valikut.
Atribuudi EstimateRowsWithoutRowGoal abil saate tulemusi võrrelda atribuudiga EstimateRows , et näha, kui palju rea eesmärk mõjutab päringu optimeerija hinnanguid.
Märkus. Kui konkreetse päringu plaani haldurile ei rakendata rea eesmärki, siis seda atribuuti ei kaasata.
Lisateave
See värskendus sisaldub SQL serveri järgmises koondvärskenduses:
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Vaadake SQL serveri kumulatiivseid värskendusi.
SQL serveri hoolduspaketi teave
See värskendus on kasutusele võetud järgmiste SQL serveri hoolduspakettide jaoks.
Hoolduspaketid on kumulatiivsed. Iga uus hoolduspakett sisaldab kõiki varasemates pakettides olevaid parandusi koos uute parandustega. Meie soovitus on rakendada uusimat hoolduspaketti ja selle hoolduspaketi uusimat kumulatiivset värskendust. Enne uusima hoolduspaketi installimist pole vaja installida eelmist hoolduspaketti. Järgmise artikli tabel 1 abil leiate lisateavet uusima hoolduspaketi ja uusima kumulatiivse värskenduse kohta.
SQL serveri ja selle komponentide versiooni, väljaande ja värskendamise taseme määratlemine
Viited
Siit leiate teavet selle kohta, mida Microsoftkasutab tarkvaravärskenduste kirjeldamiseks.