Applies ToSQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2019 on Windows

Simptomi

Pretpostavimo da imate tablicu pomoću ograničenja vanjskog ključa postavljenih na kaskadno brisanje, a statistika u stupcu vanjski ključ ne pokriva cijeli raspon ključnih vrijednosti u tablici (na primjer: Budući da statistika nije ažurirana nakon promjene raspodjele podataka u tablici). U ovom scenariju kada pokušate izbrisati redak koji odgovara ključnoj vrijednosti koja nije zastupljena u statistici statistike, a alat za optimizaciju upita koristi zadanu procjenu kardinalnosti, postupak brisanja sporiji je od očekivanog. Možda ćete primijetiti i da se operacija skeniranja indeksa koristi za pronalaženje podudaranja redaka u tablici referenciranje.

Status

Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".

Rješenje

Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:

Napomena Ovaj je popravak omogućen samo kada uključite hitnih popravaka za optimizaciju (bilo putem mogućnosti konfiguracije u opsegu baze podataka, hint upita ili traga zastavicom 4199).

O kumulativnim ažuriranjima za SQL Server:

Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:

Zaobilazno rješenje

Problem se zaobilazno može riješiti na sljedeće načine:

  • Upotrijebite procjenu naslijeđene kardinalnosti. Dodatne informacije potražite u članku procjena kardinalnosti (SQL Server).

  • Uklanjanje kaskadnog brisanja iz definicije vanjskog ključa i izvršavanje operacije brisanja pomoću značajke uključivanja između nadređenih i podređenih tablica radi postizanja ekvivalentnog kaskadnog brisanja.

  • Ažurirajte statistiku u nadređenoj tablici uz FULLSCAN prije brisanja podataka.

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ažuriranja.

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.