Симптоми
Обмислете следния сценарий:
-
Имате таблица, в която има индекси с клъстери columnstore и таблицата има много колони (в стотици).
-
Данните (тип данни) на тези колони са силно свие данни, като например VARCHAR.
-
Изпълнявате команда Select спрямо тази таблица, за да изберете голямо подмножество или всички колони от тази таблица.
-
Командата за избиране има клауза Where , която ограничава изхода на това до много малко редове (заявката е силно избирателна).
В този случай е възможно да се сблъскате с някой от следните симптоми:
-
Успоредното натоварене (други заявки, които се изпълняват по едно и също време на сървъра като тази заявка), може да се сблъскат с намаляване на производителността и загубата на пропускателна способност.
-
Може да видите интермитентно високо натоварване на процесора.
-
Ако задавате sys.dm_os_ring_buffers и преглеждате записи от тип SchedulerMonitor , ще намерите съобщения за негенериран Планировчик, които са влезли по време на изпълнение на тази заявка.
-
Възможно е да получите грешка, която не е в списъка с грешки, и може да бъде генериран файл за извеждане на паметта.
Решение
Първоначално проблемът е коригиран в следната сборна актуализация на SQL Server:
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Препоръчваме ви да изтеглите и инсталирате последните сборни актуализации за SQL Server:
Повече информация
Поправяне на подробни данниРаботниците, които обработват отсечките на колоните (разбиват ги и ги сканират за квалифициращи редове), използвани за използването на ПРОЦЕСОРА "добив" за други служители/едновременни екзекуции на заявки, когато се получи определен праг за брой редове. Когато клаузата Where е била силно избирателна за производство на няколко реда, работниците, които обработват тази заявка, обработват некомпресирани и голям брой сегменти (защото много малко редове отговарят на условията), преди да се отказват от процесора в сътрудничество за други работници, за да обработват тяхното работно натоварване. Това води до неравномерно използване на ПРОЦЕСОРА и разграждане на пропускателна способност при едновременно натоварена работа. Корекцията оптимизира и подобрява алгоритъма за споделяне на ПРОЦЕСОРА за тези заявки за columnstore.
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.