"Andmebaasi register" viitab spetsiaalsele andmestruktuurile, mis kiirendab kirjete hankimist andmebaasitabelist. Andmebaasi indeksid tagavad, et saate andmebaasitabeli andmetele tõhusalt juurde pääseda ja neile juurde pääseda, ilma et peaksite iga rida otsima iga kord, kui andmebaasi päringut töödeldakse.

Andmebaasi indeksit saab võrrelda raamatu registriga. Andmebaaside indeksid suunavad teid andmebaasist otsitava kirje juurde, täpselt nagu raamatu indeksleht juhatab teid soovitud teema või peatüki juurde.

Kuigi andmebaaside indeksid on andmete kiireks ja tõhusaks otsimiseks ning juurdepääsuks hädavajalikud, võtavad need täiendavaid kirjutamis- ja mäluruume.

Mis on register?

Andmebaaside indeksid on spetsiaalsed otsingu tabelid, mis koosnevad kahest veerust. Esimene veerg on otsinguklahv ja teine ​​on andmekursor. Võtmed on väärtused, mida soovite otsida ja oma andmebaasitabelist hankida, ja osuti või viide salvestab selle konkreetse otsinguvõtme andmebaasis kettabloki aadressi. Võtmeväljad on sorditud nii, et see kiirendaks kõigi teie päringute andmete otsimist.

Miks kasutada andmebaaside indekseerimist?

Näitan siin lihtsustatult andmebaasiindekseid. Oletame, et teil on ettevõttes töötava kaheksa töötaja andmebaasitabel ja soovite otsida teabest tabeli viimast kirjet. Nüüd peate eelmise kirje leidmiseks otsima andmebaasi igast reast.

Oletame, et olete tabeli järjestanud töötajate eesnime järgi tähestikulises järjekorras. Niisiis põhinevad indekseerimisvõtmed siin nimeveerul. Sel juhul, kui otsite viimast kirjet,Zack, ”Saate hüpata tabeli keskele ja otsustada, kas meie kanne tuleb enne või pärast veergu.

Nagu teate, tuleb see pärast keskmist rida ja saate jälle keskmise rea järel olevad read jagada pooleks ja teha sarnane võrdlus. Nii ei pea te viimase sissekande leidmiseks läbima igat rida.

Kui ettevõttel oleks 1 000 000 töötajat ja viimane kirje oleks „Zack”, peaksite tema nime leidmiseks otsima 50 000 rida. Tähestikulise indekseerimise abil saate seda teha mõne sammuga. Nüüd saate ette kujutada, kui palju võib andmete otsimine ja juurdepääs andmebaasi indekseerimisega muutuda.

Seotud: 13 kõige olulisemat SQL-käsku, mida iga programmeerija peaks teadma

Erinevad failikorraldusmeetodid andmebaaside indeksite jaoks

Indekseerimine sõltub suuresti kasutatud failikorralduse mehhanismist. Tavaliselt on andmebaasi indekseerimisel andmete salvestamiseks kahte tüüpi failikorraldusmeetodeid. Neid arutatakse allpool:

1. Järjestatud registrifail: See on traditsiooniline indeksandmete salvestamise meetod. Selles meetodis sorteeritakse põhiväärtused kindlas järjekorras. Järjestatud indeksfailis olevaid andmeid saab salvestada kahel viisil.

  • Hõre indeks: Seda tüüpi indekseerimisel luuakse iga kirje jaoks registrikirje.
  • Tihe indeks: Tiheda indekseerimise korral luuakse mõne kirje jaoks registrikirje. Selle meetodi kirje leidmiseks peate kõigepealt leidma kõige olulisema otsinguvõtme väärtuse indekskirjetest, mis on väiksemad või võrdsed otsitava võtmeväärtusega.

2. Hash-faili korraldus: Selles failikorraldusmeetodis määrab räsifunktsioon asukoha või kettabloki, kuhu kirje salvestatakse.

Andmebaaside indekseerimise tüübid

Andmebaaside indekseerimiseks on üldjuhul kolm meetodit. Nemad on:

  • Klasterdatud indekseerimine
  • Klastriväline indekseerimine
  • Mitmetasandiline indekseerimine

1. Klasterdatud indekseerimine

Rühmitatud indekseerimisel saab ühte faili salvestada rohkem kui kaks andmekirjet. Süsteem hoiab tegelikke andmeid pigem rühmitatud indekseerimisega kui osutajatega. Klastrite abil indekseerimine on kulutõhus, kuna see hoiab kõik seotud andmed samas kohas.

Klastrite register kasutab enda määratlemiseks järjestatud andmefaile. Samuti on seda tüüpi indekseerimise puhul väga tavaline mitme andmebaasitabeliga liitumine.

Samuti on võimalik luua register, mis põhineb mitte-põhiveergudel, mis pole iga võtme jaoks ainulaadsed. Sellistel puhkudel ühendab see mitu veergu, et moodustada rühmitatud indeksite unikaalsed võtmeväärtused.

Nii et lühidalt öeldes on klastrite indeksid, kus sarnased andmetüübid rühmitatakse ja neile indeksid luuakse.

Näide: Oletame, et ettevõttes on üle 1000 töötaja 10 erinevas osakonnas. Sellisel juhul peaks ettevõte looma oma DBMS-is klastrite indekseerimise, et indekseerida samas osakonnas töötavaid töötajaid.

Iga samas osakonnas töötavate töötajatega klaster määratletakse ühe klastrina ja indeksites olevad andmenäitajad osutavad klastrile tervikuna.

Seotud: Mis on võõrkeelsed võtmed SQL-i andmebaasides?

2. Klastriväline indekseerimine

Klastriväline indekseerimine viitab indekseerimise tüübile, kus indeksiridade järjestus ei ole sama, mis algandmeid füüsiliselt salvestatakse. Selle asemel osutab klastrita register andmebaasis olevale andmesalvestile.

Näide: Klastriväline indekseerimine sarnaneb raamatuga, millel on järjestatud sisuleht. Siin on andmekursor või viide järjestatud sisuleht, mis on tähestikulises järjekorras ja tegelikud andmed on teave raamatu lehtedel. Sisuleht ei salvesta raamatu lehtedel olevat teavet nende järjekorras.

3. Mitmetasandiline indekseerimine

Mitmetasandilist indekseerimist kasutatakse siis, kui indeksite arv on väga suur ja see ei saa esmast indeksit põhimällu salvestada. Nagu te võib-olla teate, koosnevad andmebaasiindeksid otsinguklahvidest ja andmekursoritest. Kui andmebaasi suurus suureneb, kasvab ka indeksite arv.

Kiire otsingu toimimise tagamiseks on registrimälud vaja siiski mälus hoida. Kui ühetasandilist indeksit kasutatakse siis, kui indeksinumber on kõrge, siis tõenäoliselt ei salvestata seda indeksi mälu selle suuruse ja mitme juurdepääsu tõttu.

Siin tuleb mängu mitmetasandiline indekseerimine. See tehnika jagab ühetasandilise indeksi mitmeks väiksemaks plokiks. Pärast lagunemist muutub välimise taseme plokk nii pisikeseks, et seda saab hõlpsasti põhimällu salvestada.

Seotud: Kuidas ühendada Java-ga MySQL-i andmebaasiga

Mis on SQL-i indeksi killustatus?

Kui mõni indekslehtede järjekord ei ühti andmefaili füüsilise järjekorraga, põhjustab see SQL-i indeksi killustatuse. Esialgu elavad kõik SQL-i indeksid killustamisvabalt, kuid andmebaasi (andmete sisestamine / kustutamine / muutmine) korduvalt kasutamisel võib see põhjustada killustatuse.

Lisaks andmebaasi killustatusele võib teie andmebaas seista silmitsi ka muude oluliste probleemidega, näiteks andmebaasi korruptsiooniga. See võib viia andmete kadumiseni ja kahjustatud veebisaidini. Kui ajate oma veebisaidiga äri, võib see teile olla saatuslik löök.

E-post
SQL serveri andmed on rikutud? Proovige see taastada SQL-i taastetööriistade abil

SQL Serveri taastetööriistakast aitab parandada kõigi SQL-i versioonide MS SQL Serveri rikutud MDF-faile.

Loe edasi

Seotud teemad
  • Programmeerimine
  • SQL
  • Andmete analüüs
  • andmebaasi
Autori kohta
Zadhid A. Powell (12 artiklit on avaldatud)

Zadhid Powell on arvutiinsener, kes kirjutamise alustamiseks loobus kodeerimisest! Lisaks on ta digitaalturundaja, tehnoloogiaentusiast, SaaS-i ekspert, lugeja ja tark trenditruppide jälgija. Sageli võite leida teda kitarriga kesklinna klubisid kiigutamas või ookeanipõhjas sukeldumas.

Veel Zadhid A-st Powell

Telli meie uudiskiri

Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Veel üks samm !!!

Palun kinnitage oma e-posti aadress e-kirjas, mille just teile saatsime.

.