Симптоми
Да предположим, че имате инсталиран Microsoft SQL Server 2017 или 2019 и че той се изпълнява с оценка на кардиналност по подразбиране (CE). Изпълнявате заявка, която има предикат на филтъра в колона Кол1. Заявка предикатите имат присъщи ГОРНи или ДОЛНи или RTRIM. Кол1 има статистика за използва се от оптимизатора. В този случай може да наблюдавате неправилна кардиналност разчети и че SQL Server използва неефективен план. По-долу са дадени няколко заявки, които имат предикати:
Изберете person_id от човек, където (имейл НАПРИМЕР UPPER (N ' @live. com% '))
Изберете person_id от човек, където (имейл = UPPER(N'msft@live.com '))
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Решение
Този проблем е коригиран в следните сборни актуализации за SQL Server:
За сборните актуализации за SQL Server:
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Забележка Тази корекция изисква един от за да влязат в сила следните неща:
-
Конфигуриране на QUERY_OPTIMIZER_HOTFIXES на база данни , зададено на вкл.
-
Използвайте НАМЕК за ENABLE_QUERY_OPTIMIZER_HOTFIXES използване
-
Разрешаване на флаг за проследяване 4199
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.