Симптоми
Да предположим, че изпълните заявка, включваща съединение или агрегиране в колона, която е покрита от една колона и повече колони статистики (в които тази колона не е водещите колони). Ако използвате нестандартен оценител на Кардиналност (CE) в SQL Server 2016, може да се подценява числото на отделни редове. Това води до подоптимални планове за изпълнение на заявки (например: ниската оценка може да доведе до недостатъчна памет за оператор за хеширане, което кара заявката да се разливи в tempdb).
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Решение
Този проблем е коригиран в следната сборна актуализация за SQL Server:
Забележка За да влезе в сила тази корекция, трябва да разрешите спешните корекции на заявките с помощта на 4199 за проследяване на флага или съответната опция за конфигуриране или подсещане на заявка.
За сборните актуализации за SQL Server:
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Заобиколно решение
Този проблем може да бъде коригиран чрез добавяне на следния намек за заявка:
ИЗПОЛЗВАТЕ СЪВЕТ ("FORCE_LEGACY_CARDINALITY_ESTIMATION")
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.