KB2952444 - Ispravka: Loše performanse kada koristite promenljive tabele u SQL Server 2012 ili SQL Server 2014

Simptomi

Kada promenljivu tabele popunite sa mnogo redova, a zatim je spojite sa drugim tabelama, optimizator upita može da odabere neefikasan plan upita, što može dovesti do sporih performansi upita.

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:

Servisni paket 2 za SQL Server 2012

Servisni paketi su kumulativni. Svaki novi servisni paket sadrži sve ispravke koje se naći u prethodnim servisnim paketima, zajedno sa svim novim ispravkama. Naša preporuka je da primenite najnoviji servisni paket i najnoviju kumulativnu ispravku za taj servisni paket. Ne morate da instalirate prethodni servisni paket pre nego što instalirate najnoviji servisni paket. Koristite tabelu 1 u sledećem članku da biste pronašli više informacija o najnovijem servisnom paketu i najnovijoj kumulativnoj ispravci:

Utvrđivanje verzije, izdanja i nivoa ažuriranja sistema SQL Server i njegovih komponenti

Više informacija

Kada koristite promenljivu tabele u grupi ili proceduri, upit se sastavlja i optimizuje za početno prazno stanje promenljive tabele. Ako je ova promenljiva tabele popunjena sa mnogo redova u vreme izvršavanja, unapred sastavljeni plan upita možda više neće biti optimalan. Na primer, upit se možda spaja sa promenljivom tabele sa ugnežđenom petljom, jer je obično efikasnija za mali broj redova. Ovaj plan upita može biti neefikasan ako promenljiva tabele ima milione redova. Hash spoj je možda bolji izbor pod takvim uslovom. Da biste dobili novi plan upita, potrebno ga je ponovo napraviti. Međutim, za razliku od drugih korisničkih ili privremenih tabela, promena broja redova u promenljivoj tabele ne pokreće ponovni upit. To obično možete da zaobiđete sa opcijom OPTION (RECOMPILE), koja ima sopstveni indirektni trošak. Zastavica za praćenje 2453 omogućava ponovnu korist od ponovnog izvršavanja upita bez opcije (PONOVO IZVRŠI). Ova zastavica za praćenje se razlikuje od opcije (RECOMPILE) u dva glavna aspekta. (1) Koristi isti prag broja redova kao i druge tabele. Upit ne mora biti sastavljen za svako izvršavanje za razliku od OPCIJE (PONOVO IZVRŠI). To bi izazvalo ponovno svršavanje samo kada promena broja redova premaši unapred definisani prag. (2) OPTION (RECOMPILE) primorava upit da proviri parametre i optimizuje upit za njih. Ova zastavica za praćenje ne forsiše virenje parametara.Imajte na kraju da ova zastavica za praćenje mora biti ON u vreme izvršavanja. Ovu zastavicu za praćenje ne možete da koristite sa funkcijom QUERYTRACEON. Ova zastavica za praćenje mora da se koristi sa oprezom jer može da poveća broj ponovnih izvršitelja upita što može da košta više od uštede od bolje optimizacije upita.

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku "Odnosi se na".

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×