KB3171555 - Lägger till spårningsflagga 9358 för att inaktivera sorteringsåtgärder i batchläge i en komplex parallell fråga i SQL Server 2016

Gäller för
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Symptom

Batchlägessortering introducerades i SQL Server 2016 under kompatibilitetsnivå 130.  Om en frågekörningsplan innehåller parallella batchlägessorteringar tillsammans med direkt överordnade parallella operatorer kan du stöta på försämrade prestanda jämfört med motsvarande sorteringsplan i radläge.

Detta inträffar på grund av en parallell batchsortering som matar ut fullständigt sorterade data via en enda tråd till den överordnade parallella operatorn (till exempel en parallell sammanslagningsoperator).  Prestandaförsämringen inträffar när den överordnade parallella operatorn använder enkeltrådad bearbetning på grund av sorteringsoperatorn inkommande enkeltrådat batchläge.

Uppdateringen introducerar spårningsflagga 9358 för att inaktivera sorteringsåtgärder i batchläge under de flesta parallella operatorer, inklusive sammanfogade kopplingar, kapslade loopar och strömaggregeringar. Ett undantag är en Windows-aggregeringsoperator för batchläge ovanför sorteringen, som fortsätter att tillåta en sorteringsåtgärd i batchläge under dem eftersom Windows-aggregeringsoperatorer är optimerade för att läsa batchsorteringsdata.

Obs! Sorteringsåtgärderna i batchläge inaktiveras också om något av följande villkor uppfylls

  • Spårningsflagga 4199 är aktiverad.
  • Alternativet QUERY_OPTIMIZER_HOTFIXES databas är aktiverat (från och med SQL Server 2016 CU6).
  • Tipset för ENABLE_QUERY_OPTIMIZER_HOTFIXES fråga används (från och med SQL Server 2016 Service Pack 1 (SP1) CU4).

Lösning

Problemet åtgärdades först i följande kumulativa uppdatering av SQL Server:

Rekommendation: Installera den senaste kumulativa uppdateringen för SQL Server

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Vi rekommenderar att du laddar ned och installerar de senaste kumulativa uppdateringarna för SQL Server:

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".

Referenser

Läs om den terminologi som Microsoft använder för att beskriva programuppdateringar.