Požymiai
Kai pateikiate rodinio užklausą "Microsoft „SQL Server“ 2014" arba "Microsoft 2016", gali užtrukti daug ilgiau, jei palyginsite jį su "„SQL Server“ 2008 R2" vykdymu.
Kai vykdote užklausą, kuri naudoja UNION ALL ir eilutės tikslą (pvz., sąlygą TOP N, FAST N arba taisyklės sąlygą EXISTS), galite pastebėti, kad užklausa veikia lėčiau naudojant "„SQL Server“ 2014" ar naujesnes versijas, jei palyginsite ją su "„SQL Server“ 2008 R2".
Priežastis
Programoje „SQL Server“ R2 užklausų optimizavimo priemonė pakeičia skirtingų dalių tvarką UNION ALL, jei yra eilutės tikslas, kad pigiausia dalis būtų pirmoje vietoje. Tai leidžia užklausai užbaigti vykdymą anksčiau, jei pigesnės dalys pagamina reikiamą eilučių skaičių, toliau nevykdant brangesnių dalių. Toks pertvarkymas nevyksta vėlesnėse „SQL Server“ versijose.
Sprendimas
Ši problema išspręsta šiame "„SQL Server“" kaupiamajame naujinime:
7 kaupiamasis naujinimas, skirtas „SQL Server“ 2016 RTM
4 kaupiamasis naujinimas, skirtas „SQL Server“ 2016 SP1
6 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP2
Atkreipkite dėmesį Užklausų optimizavimo priemonė turi būti įjungta šiai problemai.
Daugiau informacijos apie užklausų optimizavimą ir sekimo vėliavėles rasite spustelėję šiuos saitus:
„SQL Server“ Query Optimizer karštoji pataisa TF 4199 priežiūros modelis
DBCC konsolės komandos ir sekimo vėliavėlės
Apie "„SQL Server“" kaupiamuosius naujinimus:
Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:
Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2016
Naujausias "„SQL Server“ 2014" kaupiamasis naujinimas
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.
Nuorodos
Sužinokite daugiau apie terminus, kuriuos „„Microsoft““ naudoja apibūdindama programinės įrangos naujinimus.