Simptomi
Iedomājieties šādu scenāriju:
-
Jums ir tabula, kurā ir sagrupēti columnstore indeksi, un tabulā ir daudz kolonnu (simtos).
-
Šo kolonnu dati (datu tips) ir ļoti Saspiežams dati, piemēram, varchar.
-
Šajā tabulā tiek palaists 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 ļoti dažām rindām (vaicājums ir ļoti selektīvs).
Šajā scenārijā var rasties kāda no šīm vai visiem tālāk norādītajiem simptomiem.
-
Vienlaicīga darba slodze (citi vaicājumi, kas tiek izpildīti vienlaikus ar šo vaicājumu), var saskarties ar veiktspējas samazināšanos un caurlaidspējas zudumu.
-
Iespējams, redzēsit neregulāru lielu centrālā procesora lietojumu.
-
Ja veicat vaicājumu sys.dm_os_ring_buffers un skatīt SchedulerMonitor tipa ierakstus, tiek atrasti neregulāra "non-Yield plānotājs" ziņojumi, kas ir pieteikušies šī vaicājuma izpildes laikā.
-
Kļūdu piezīmēs var tikt parādīta neienesīga plānotāja kļūda un var tikt ģenerēts simptoma atmiņas izmetes fails.
Risinājums
Šī problēma pirmo reizi tika novērsta ar šādu kumulatīvo SQL Server atjauninājumu:
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Iesakām lejupielādēt un instalēt jaunākos SQL Server kumulatīvos atjauninājumus:
Papildinformācija
Detalizētas informācijas labošanaDarba ņēmēji, kas apstrādā kolonnu segmentus (to atspiešana un to skenēšana, lai iegūtu kvalificētas rindas), ko izmanto, lai "raža" CPU lietojums uz citiem darbiniekiem/vienlaicīgu vaicājumu izpildi, kad tika izvadīts noteikts rindu skaits. Ja klauzula WHERE bija ļoti selektīva vairāku rindu izveidošanai, darba ņēmēji, kuri apstrādā šo vaicājumu, apstrādāja saspiestus un lielu skaitu segmentu (jo ir ļoti maz rindu), pirms tie ir saražojuši centrālo procesoru citiem darbiniekiem, lai apstrādātu to darba apjomu. Tādējādi radās neregulāras centrālā procesora lietojums un caurlaidspējas vienlaicīgas slodzes degradācija. Labošanas gaitā tiek optimizēts un uzlabots CPU koplietošanas algoritms šādiem columnstore vaicājumiem.
Atsauces
Uzziniet par terminoloģiju , ko Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.