Šiame straipsnyje paaiškinami pagrindiniai krūvos ir grupuotų lentelių skirtumai.
Dirbant su lentelėmis SQL Server, vartotojai dažnai susiduria su dilema naudoti sugrupuotas lenteles arba krūvos lenteles. Lentelės, kuriose nėra sugrupuotų indeksų, vadinamos krūvos lentelėmis, o tos, kuriose yra sugrupuotų indeksų, vadinamos sugrupuotomis lentelėmis. Klasterizuotas indeksas iš esmės pertvarko būdą, kuriuo įrašai fiziškai saugomi lentelėje. Duomenų puslapiai yra sugrupuoto indekso lapų mazguose.

Straipsnyje šie du lentelių tipai aptariami išsamiau.
Sugrupuotos ir krūvos lentelės
Sugrupuotos lentelės suteikia vartotojams daugiau naudos nei krūvos lentelės, nes jos padeda vartotojams naudojant indeksus rasti eilutes greičiau nei krūvos lentelės ir fiziškai saugoti duomenis / įrašus atkuriant sugrupuotą indeksą.
Jūsų fiziniai duomenys gali būti suskaidyti, jei jūsų duomenų lentelėse yra daugiau INSERT, DELETE ir UPDATE veiklų. Yra žinoma, kad suskaidyti duomenys gali padidinti išeikvotą ir nepageidaujamą erdvę, nes paleidus užklausą ji turi perskaityti dar kelis puslapius, nes dabar yra daugiau iš dalies pilnų puslapių. Išsiaiškinkime būdus, kaip išspręsti duomenų suskaidymo problemą.
Skirtumas tarp krūvos ir grupinės lentelės
Suskaidymo problemą galima išspręsti nustačius, ar reikia lentelėje (-ėse) turėti sugrupuotą indeksą, ar ne. Galų gale, tai yra grupinis arba krūvos indeksas, kuris reguliuoja jūsų lentelės fizinę saugyklą. Bet kuri jūsų duomenų bazės lentelė gali turėti tik vieno tipo indeksą. Norėdami pasirinkti, turime suprasti pagrindinius šių dviejų skirtumus, kurie yra tokie.
- Krūvoje duomenų saugojimo tvarka nėra, tačiau sugrupuotame duomenų saugojimo tvarka priklauso nuo sugrupuoto indekso rakto.
- Duomenų puslapiai nėra susieti krūvoje, o grupinėje lentelėje jie yra susieti ir yra greitesnė nuosekli prieiga.
- Heap turi 0 index_id reikšmę, o Clustered turi 1 index_id reikšmę sys.indexes katalogo rodiniui
- Sugrupuotas indeksas nuskaito duomenis greičiau nei krūvos lentelė, nes yra Clustered Index raktas
Skilimas
Remiantis klasterinių ir krūvos lentelių skirtumais, galima išspręsti suskaidymo problemą. Suskaidymas atsiranda dėl INSERT, DELETE ir UPDATE veiksmų naudojimo. Tačiau jei turite krūvos lentelę ir yra tik INSERT veikla, suskaidymas nebus. Jei naudojate nuoseklųjį indekso raktą (tapatybės vertę) ir turite tik INSERTS, jūsų sugrupuotas indeksas nebus suskaidytas. Bet jei naudosite daug INSERTS arba DELETES, lentelės bus suskaidytos.
Taigi patartina naudoti sugrupuotą indeksą, nes jis priklauso nuo indekso klavišo ir užima mažiau vietos. Naujus įrašus galima įrašyti į jau esamus puslapius turimoje laisvoje vietoje.
Norėdami nustatyti krūvos arba sugrupuotos lentelės naudojimą, taip pat galite pabandyti paleisti DBCC SHOWCONTIG arba naują DMV, nes abi šios komandos gali suteikti informacijos apie suskaidymo lentelių problemas. Sugrupuotoje lentelėje suskaidymas gali būti išspręstas pertvarkant arba atkuriant sugrupuotą indeksą.
Investavimas į SQL Server remontas įrankis yra būtinas įmonėms, kurios naudojasi MS SQL Server duomenų bazę savo gamybos serveriuose. Tiesą sakant, tai gali būti išgelbėjimas duomenų bazės gedimo atveju.
Autoriaus įvadas:
Viktoras Simonas yra duomenų atkūrimo ekspertas DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant remontuoti mdb ir sql atkūrimo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite https://www.datanumen.com/