Duomenų bazės indeksas: įvadas pradedantiesiems

Duomenų bazės indeksas: įvadas pradedantiesiems

„Duomenų bazės indeksas“ reiškia ypatingą duomenų struktūrą, kuri pagreitina įrašų gavimą iš duomenų bazės lentelės. Duomenų bazės indeksai užtikrina, kad duomenų bazės lentelėje esančius duomenis galite rasti ir pasiekti efektyviai, nereikia ieškoti kiekvienoje eilutėje kiekvieną kartą apdorojant duomenų bazės užklausą.





Duomenų bazės indeksą galima palyginti su knygos indeksu. Duomenų bazių rodyklės nurodo į įrašą, kurio ieškote duomenų bazėje, kaip ir knygos rodyklės puslapis nurodo į norimą temą ar skyrių.





Tačiau nors duomenų bazės indeksai yra būtini norint greitai ir efektyviai ieškoti ir pasiekti duomenis, jie užima papildomą įrašymo ir atminties vietą.





Kas yra indeksas?

Duomenų bazių indeksai yra specialios peržiūros lentelės, susidedančios iš dviejų stulpelių. Pirmasis stulpelis yra paieškos klavišas, o antrasis - duomenų žymeklis. Raktai yra reikšmės, kurių norite ieškoti ir gauti iš savo duomenų bazės lentelės, o žymeklis arba nuoroda saugo disko bloko adresą to konkretaus paieškos rakto duomenų bazėje. Pagrindiniai laukai surūšiuoti taip, kad pagreitintų visų jūsų užklausų duomenų paieškos operaciją.

Kodėl verta naudoti duomenų bazių indeksavimą?

Čia aš supaprastintai parodysiu duomenų bazių indeksus. Tarkime, kad turite aštuonių įmonėje dirbančių darbuotojų duomenų bazės lentelę ir norite ieškoti paskutinio lentelės įrašo informacijos. Dabar, norėdami rasti ankstesnį įrašą, turite ieškoti kiekvienoje duomenų bazės eilutėje.



Tačiau tarkime, kad abėcėlės tvarka surūšiavote lentelę pagal darbuotojų vardą. Taigi, indeksavimo raktai yra pagrįsti pavadinimo stulpeliu. Tokiu atveju, jei ieškote paskutinio įrašo, Zakas , galite pereiti prie lentelės vidurio ir nuspręsti, ar mūsų įrašas pateikiamas prieš ar po stulpelio.

Kaip žinote, jis bus po vidurinės eilutės, o eilutes po vidurinės eilės vėl galite padalyti per pusę ir atlikti panašų palyginimą. Tokiu būdu jums nereikia pereiti kiekvienos eilutės, kad surastumėte paskutinį įrašą.





Jei įmonėje dirbo 1 000 000 darbuotojų, o paskutinis įrašas buvo Zakas, turėsite ieškoti 50 000 eilučių, kad surastumėte jo vardą. Kadangi abėcėlės tvarka indeksuojama, tai galite padaryti keliais žingsniais. Dabar galite įsivaizduoti, kiek greičiau duomenų paieška ir prieiga gali tapti indeksuojant duomenų bazę.

Susijęs: 13 svarbiausių SQL komandų, kurias turėtų žinoti bet kuris programuotojas





Skirtingi duomenų bazių indeksų failų organizavimo metodai

Indeksavimas labai priklauso nuo naudojamo failų organizavimo mechanizmo. Paprastai duomenų bazėms indeksuoti duomenų saugojimui naudojami dviejų tipų failų organizavimo metodai. Jie aptariami toliau:

1. Užsakytas rodyklės failas: Tai yra tradicinis indekso duomenų saugojimo būdas. Taikant šį metodą, pagrindinės vertės surūšiuotos tam tikra tvarka. Užsakyto indekso failo duomenys gali būti saugomi dviem būdais.

  • Retas indeksas: Šio tipo indeksavimo atveju kiekvienam įrašui sukuriamas indekso įrašas.
  • Tankus indeksas: Tankiai indeksuojant kai kuriems įrašams sukuriamas indekso įrašas. Norėdami rasti įrašą naudodami šį metodą, pirmiausia turite rasti reikšmingiausią paieškos rakto vertę iš rodyklės įrašų, kurie yra mažesni arba lygūs ieškomos rakto vertės.

2. „Hash File“ organizacija: Taikant šį failų organizavimo metodą, maišos funkcija nustato vietą arba disko bloką, kuriame yra įrašas.

Duomenų bazių indeksavimo tipai

Paprastai yra trys duomenų bazių indeksavimo metodai. Jie yra:

  • Klasterinis indeksavimas
  • Negrupuotas indeksavimas
  • Daugiapakopis indeksavimas

1. Klasterinis indeksavimas

Į grupuotą indeksavimą viename faile gali būti saugomi daugiau nei du duomenų įrašai. Sistema saugo faktinius duomenis, o ne rodykles. Paieška yra ekonomiškai efektyvi naudojant grupuotą indeksavimą, nes ji saugo visus susijusius duomenis toje pačioje vietoje.

ką reiškia paryškintas komentaras „YouTube“

Grupavimo indeksas naudoja užsakytus duomenų failus, kad apibrėžtų save. Be to, naudojant tokio tipo indeksavimą, labai dažnai prisijungiama prie kelių duomenų bazių lentelių.

Taip pat galima sukurti indeksą, pagrįstą ne pagrindiniais stulpeliais, kurie nėra unikalūs kiekvienam raktui. Tokiais atvejais jis sujungia kelis stulpelius, kad sudarytų unikalias raktines grupių indeksų reikšmes.

Taigi, trumpai tariant, grupavimo indeksai yra tie, kuriuose yra sugrupuoti panašūs duomenų tipai ir kuriami jiems indeksai.

Pavyzdys: Tarkime, yra įmonė, kurioje dirba daugiau nei 1000 darbuotojų 10 skirtingų padalinių. Tokiu atveju įmonė savo DBVS turėtų sukurti grupavimo indeksavimą, kad indeksuotų tame pačiame skyriuje dirbančius darbuotojus.

Kiekvienas klasteris, kuriame dirba darbuotojai, dirbantys tame pačiame skyriuje, bus apibrėžiamas kaip vienas klasteris, o duomenų rodyklės indeksuose nurodys grupę kaip visumą.

Susijęs: Kas yra užsienio raktai SQL duomenų bazėse?

2. Negrupuotas indeksavimas

Negrupuotas indeksavimas reiškia indeksavimo tipą, kai rodyklės eilučių tvarka nesutampa su tuo, kaip fiziškai saugomi pirminiai duomenys. Vietoj to, nesugrupuotas indeksas nurodo duomenų saugojimą duomenų bazėje.

Pavyzdys: Negrupuotas indeksavimas yra panašus į knygą, kurioje yra užsakytas turinio puslapis. Čia duomenų rodyklė arba nuoroda yra užsakytas turinio puslapis, surūšiuotas abėcėlės tvarka, o faktiniai duomenys yra informacija knygos puslapiuose. Turinio puslapyje informacija knygų puslapiuose nesaugoma tokia tvarka.

3. Daugiapakopis indeksavimas

Kelių lygių indeksavimas naudojamas, kai indeksų skaičius yra labai didelis ir jis negali išsaugoti pagrindinio indekso pagrindinėje atmintyje. Kaip žinote, duomenų bazių indeksus sudaro paieškos raktai ir duomenų rodyklės. Didėjant duomenų bazės dydžiui, didėja ir indeksų skaičius.

Tačiau norint užtikrinti greitą paieškos operaciją, indekso įrašus reikia laikyti atmintyje. Jei vieno lygio indeksas naudojamas, kai indekso skaičius yra didelis, mažai tikėtina, kad šis indeksas bus saugomas atmintyje dėl jo dydžio ir kelių prieigų.

Čia atsiranda daugiapakopis indeksavimas. Ši technika suskaido vieno lygio indeksą į kelis mažesnius blokus. Sugedus, išorinio lygio blokas tampa toks mažas, kad jį galima lengvai išsaugoti pagrindinėje atmintyje.

Susijęs: Kaip prisijungti prie „MySQL“ duomenų bazės naudojant „Java“

Kas yra SQL indekso suskaidymas?

Kai bet kuri rodyklės puslapių tvarka nesutampa su fizine duomenų failo tvarka, tai sukelia SQL indekso suskaidymą. Iš pradžių visi SQL indeksai nėra fragmentiški, tačiau kai pakartotinai naudojate duomenų bazę (įterpti/ištrinti/pakeisti duomenis), tai gali sukelti suskaidymą.

Be duomenų bazės susiskaidymo, jūsų duomenų bazė gali susidurti ir su kitomis gyvybiškai svarbiomis problemomis, tokiomis kaip duomenų bazės korupcija. Tai gali sukelti duomenų praradimą ir svetainę. Jei vykdote verslą su savo svetaine, tai gali būti mirtinas smūgis jums.

Dalintis Dalintis „Tweet“ Paštu Ar sugadinti SQL serverio duomenys? Pabandykite jį atkurti naudodami „SQL Recovery Toolbox“

„SQL Server“ atkūrimo įrankių rinkinys padeda ištaisyti sugadintus visų versijų „MS SQL Server“ MDF failus.

kaip ištrinti įvykį iš kalendoriaus
Skaityti toliau Susijusios temos
  • Programavimas
  • SQL
  • Duomenų analizė
  • duomenų bazę
Apie autorių Zadhid A. Powell(Paskelbta 16 straipsnių)

Zadhid Powell yra kompiuterių inžinierius, kuris atsisakė kodavimo ir pradėjo rašyti! Kartu jis yra skaitmeninis prekiautojas, technologijų entuziastas, „SaaS“ ekspertas, skaitytojas ir puikus programinės įrangos tendencijų sekėjas. Dažnai galite rasti jį supantį miesto klubą su gitara ar apžiūrinėdamas nardymą vandenyno dugne.

Daugiau iš Zadhid A. Powell

Prenumeruokite mūsų naujienlaiškį

Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!

Norėdami užsiprenumeruoti, spustelėkite čia