Pazīmes
Apsveriet šādu scenāriju:
- Tabulā ir sagrupēti ColumnStore indeksi, un tabulā ir daudz kolonnu (simtos).
- Šo kolonnu dati (datu tips) ir ļoti saspiežami dati, piemēram, varchar.
- Šai tabulai ir jāpalaiž priekšraksts SELECT, lai atlasītu lielu apakškopu vai visas kolonnas no šīs tabulas.
- Priekšrakstam select ir klauzula Where, kas ierobežo tā izvadi līdz tikai dažām rindām (vaicājums ir ļoti selektīvs).
Šādā gadījumā var rasties kāda no šīm pazīmēm vai visas šīs problēmas:
- Vienlaicīga darba slodze (citi vaicājumi, kas serverī tiek izpildīti vienlaikus ar šo vaicājumu) var izraisīt veiktspējas samazināšanos un caurlaidspējas zudumu.
- Dažkārt var būt redzams liels centrālā procesora lietojums.
- Ja veicat vaicājumu sys.dm_os_ring_buffers un skatāt SchedulerMonitor tipa ierakstus, šī vaicājuma izpildes laikā tiek reģistrēti intermitējoši "neienesīga plānotāja" ziņojumi.
- Kļūdu žurnālā var tikt parādīta neienesīga plānotāja kļūda, un var tikt ģenerēts simptomu atmiņas izmetes fails.
Risinājums
Šī problēma vispirms tika novērsta nākamajā SQL Server kumulatīvajā atjauninājumā:
Ieteikums: instalējiet jaunāko kumulatīvo atjauninājumu serverim SQL Server
Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Ieteicams lejupielādēt un instalēt jaunākos kumulatīvos SQL Server atjauninājumus:
Papildinformācija
Labot detalizētiDarbinieki, kas apstrādā kolonnu segmentus (to atspiešanu un atbilstošo rindu skenēšanu), izmantoja, lai "nodotu" CPU lietojumu citiem darbiniekiem/vienlaicīgām vaicājumu izpildēm, ja tika izvadīts noteikts rindu skaita slieksnis. Kad klauzula WHERE bija ļoti selektīva, lai radītu dažas rindas, darbinieki, kas apstrādāja šo vaicājumu, apstrādāja nesaspiestus un lielu segmentu skaitu (jo ļoti maz rindu kvalificējas), pirms viņi atteicās no CPU sadarbības veidā, lai citi darbinieki varētu apstrādāt savu darba slodzi. Tas izraisīja neregulāru centrālā procesora lietojumu un caurlaidspējas samazināšanos vienlaicīgai darba slodzei. Labojums optimizē un uzlabo centrālā procesora koplietošanas algoritmu šādiem kolonnu veikala vaicājumiem.
Atsauces
Uzziniet par terminoloģiju, ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.