KB4522127 - Ispravka: Slabe performanse upita zbog niske procene kardinalnosti u SQL Server 2016 kada koristite podrazumevani CE i kolona je pokrivena i statistikom jedne i više kolona

Simptomi

Pretpostavimo da pokrenete upit koji uključuje spoj ili agregaciju u koloni koja je pokrivena i jednom kolonom i više kolona statistiku (u kojoj ova kolona nije vodeća kolona). Ako koristite default Cardinality Estimator (CE) in SQL Server 2016, it may underestimate number različitih redova. To dovodi do pod-optimalnog plana izvršavanja upita (na primer: niska procena može dovesti do nedostatka memorijske granta za operatora hasha, što dovodi do prosipanja upita u tempdb).

Status

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

Rešenje

Ovaj problem je rešen u sledećoj kumulativnoj ispravci za SQL Server:

Napomena Da bi ova ispravka stupila na snagu, morate da omogućite hitne ispravke za Query Optimizer pomoću zastavice za praćenje (TF) 4199 ili odgovarajuće opcije za konfigurisanje opsega baze podataka ili podsetnika za upite.

Kumulativne ispravke za SQL Server:

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:

Rešenje

Ovaj problem se može otkloniti dodavanjem sledećeg podsetnika za upit:

Koristite HINT('FORCE_LEGACY_CARDINALITY_ESTIMATION')

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.

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.

×