Symptomy
Załóżmy, że jest uruchamiana kwerenda obejmująca sprzężenie lub agregację. w kolumnie, która jest objęta pojedynczą kolumną i wieloma kolumnami Statystyka (w której ta kolumna nie jest kolumną interlinii). Jeśli używasz Domyślna Kardynalność szacowania (CE) w programie SQL Server 2016 może być nieszacunkowa liczba różne wiersze. Prowadzi to do planu nieoptymalnego wykonania zapytań (na przykład: niskie szacowanie może spowodować niedostateczne przyznanie pamięci dla operatora skrótu, co spowoduje, że kwerenda rozlania do bazy danych tempdb).
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Rozwiązanie
Ten problem został rozwiązany w następującej zbiorczej aktualizacji dla programu SQL Server:
Uwaga Aby ta poprawka działała, musisz włączyć poprawki optymalizatora zapytań, używając flagi śledzenia (TF) 4199 lub odpowiedniej konfiguracji zakresu lub wskazówki zapytania dotyczącego bazy danych.
Informacje dotyczące aktualizacji zbiorczych dla programu SQL Server:
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Obejście
Ten problem można rozwiązać, dodając następującą wskazówkę dotyczącą zapytań:
UŻYWAJĄ WSKAZÓWKA ("FORCE_LEGACY_CARDINALITY_ESTIMATION")
Informacje
Informacje o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.