Simptomi
Kada izvršite upit nad prikazom u sistemu Microsoft SQL Server 2014 ili 2016, možda će biti potrebno mnogo duže vremena da se dovrši ako ga uporedite sa izvršavanje u sistemu SQL Server 2008 R2.
Kada izvršite upit koji koristi UNION ALL i cilj reda (kao što su TOP N odrednica, FAST N ili EXISTS predikat), možda ćete primetiti da upit radi sporije u SQL Server 2014 ili novijoj verziji ako ga uporedite sa SQL Server 2008 R2.
Uzrok
U sistemu SQL Server 2008 R2, Optimizator upita menja redosled različitih delova u okviru union ALL ako je prisutan cilj reda, tako da najjeftiniji deo ide prvi. Ovo omogućava upitu da završi izvršavanje ranije ako jeftiniji delovi proizvode potreban broj redova, bez nastavka izvršavanja skupljih delova. Takvo poručivanje se ne dešava u kasnijim verzijama sistema SQL Server.
Rešenje
Ovaj problem je rešen u sledećoj kumulativnoj ispravci za SQL Server:
Kumulativna ispravka 7 za SQL Server 2016 RTM
Kumulativna ispravka 4 za SQL Server 2016 SP1
Kumulativna ispravka 6 za SQL Server 2014 SP2
Napomena Optimizator upita mora biti omogućen za ovaj problem.
Za više informacija o optimizatoru upita i zastavicama za praćenje pogledajte sledeće veze:
SQL Server Query Optimizer hotfix TF 4199 model servisiranja
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".
Reference
Saznajte više o terminologijikoju Microsoft koristi za opisivanje softverskih ispravki.