Симптоми
В SQL Server 2016 са въведени видове групов режим под ниво на съвместимост 130. Ако даден план за изпълнение на заявка съдържа паралелен групов режим, който е в комбинация с паралелни оператори директно нагоре, може да срещнете влошена производителност в сравнение с еквивалентите на план за сортиране на ред.
Това се дължи на паралелен пакет, който извежда напълно сортираните данни през една нишка към паралелния оператор нагоре (например оператор за присъединяване към паралелно сливане). Разграждането на производителността се случва, когато операторът за успореден поток използва обработка с една нишка, дължаща се на входящия оператор за сортиране в единична нишка.
Тази актуализация въвежда проследяващо означение 9358, за да се забранят операциите за сортиране на партидите под повечето паралелни оператори, включително обединяващи съединения, вложени електрически вериги и обединения за поток. Изключение представлява оператор за обединение на Windows в групов режим над сорта, който ще продължи да позволява операция за сортиране на групов режим под тях, тъй като операторите на Windows за обединение са оптимизирани за прочитане на данни за сортиране на партиди.
Забележка Сортирането на групови режими също е забранено, ако е изпълнено някое от следните условия:
-
Проследен флаг 4199 е разрешен.
-
Опцията за QUERY_OPTIMIZER_HOTFIXES база данни е разрешена (започвайки от SQL Server 2016 CU6).
-
Използва се ENABLE_QUERY_OPTIMIZER_HOTFIXES подсещане за заявката (започвайки от SQL Server 2016 Service Pack 1 (SP1) CU4).
Решение
Първоначално проблемът е коригиран в следната сборна актуализация на SQL Server:
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Препоръчваме ви да изтеглите и инсталирате последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.