Andmebaasi indeks: sissejuhatus algajatele

Andmebaasi indeks: sissejuhatus algajatele

„Andmebaasi indeks” viitab erilisele andmestruktuurile, mis kiirendab andmebaasi tabelist kirjete hankimist. Andmebaaside indeksid tagavad, et saate andmebaasi tabeli andmeid tõhusalt leida ja neile juurde pääseda, ilma et peaksite otsima iga rida iga kord, kui andmebaasi päringut töödeldakse.





Andmebaasi indeksit saab võrrelda raamatu indeksiga. Andmebaaside indeksid viitavad teile kirjele, mida otsite andmebaasist, täpselt nagu raamatu indeksleht soovitud teemale või peatükile.





Kuigi andmebaaside indeksid on andmete kiireks ja tõhusaks otsimiseks ja juurdepääsuks hädavajalikud, võtavad need täiendavat kirjutamist ja mäluruumi.





Mis on indeks?

Andmebaaside indeksid on spetsiaalsed otsingu tabelid, mis koosnevad kahest veerust. Esimene veerg on otsinguklahv ja teine ​​andmete osuti. Võtmed on väärtused, mida soovite oma andmebaasi tabelist otsida ja alla laadida ning kursor või viide salvestab selle konkreetse otsinguvõtme kettaploki aadressi andmebaasi. Võtmeväljad on sorteeritud nii, et see kiirendaks kõigi teie päringute andmete otsimist.

Miks kasutada andmebaaside indekseerimist?

Ma näitan teile siin andmebaaside indekseid lihtsustatud viisil. Oletame, et teil on andmebaasi tabel kaheksa ettevõttes töötava töötaja kohta ja soovite otsida tabeli viimase kirje teavet. Nüüd tuleb eelmise kirje leidmiseks otsida andmebaasi igast reast.



Oletame siiski, et olete tabeli tähestikulises järjekorras töötajate eesnime järgi sorteerinud. Seega põhinevad siin indekseerimisvõtmed nimeveerul. Kui otsite viimast kirjet, Zack , saate hüpata tabeli keskele ja otsustada, kas meie sissekanne tuleb enne või pärast veergu.

Nagu teate, tuleb see pärast keskmist rida ja saate uuesti keskmise rea järel olevad read pooleks jagada ja teha sarnase võrdluse. Sel viisil ei pea te viimase rea leidmiseks iga rida läbima.





Kui ettevõttes töötas 1 000 000 töötajat ja viimane kirje oli Zack, peaksite tema nime leidmiseks otsima 50 000 rida. Kui aga tähestikulise indekseerimise abil saate seda teha mõne sammuga. Nüüd võite ette kujutada, kui palju kiiremaks saab andmete otsimine ja juurdepääs andmebaasi indekseerimisega.

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





Andmebaaside indeksite erinevad failikorraldusmeetodid

Indekseerimine sõltub suuresti kasutatavast failikorraldusmehhanismist. Tavaliselt kasutatakse andme salvestamiseks andmebaaside indekseerimisel kahte tüüpi failikorraldusmeetodeid. Neid arutatakse allpool:

1. Tellitud indeksfail: See on traditsiooniline meetod andmete salvestamiseks. Selle meetodi korral sorteeritakse põhiväärtused kindlas järjekorras. Tellitud indeksfaili andmeid saab salvestada kahel viisil.

  • Hõre indeks: Seda tüüpi indekseerimise korral luuakse iga kirje jaoks registrikanne.
  • Tihe indeks: Tiheda indekseerimise korral luuakse mõne kirje jaoks indeksikanne. Selle meetodi kirje leidmiseks peate esmalt leidma indeksikirjetest kõige olulisema otsinguvõtme väärtuse, mis on väiksem või võrdne otsitava võtme väärtusega.

2. Räsifaili korraldus: Selles failikorraldusmeetodis määrab räsifunktsioon kirje salvestamise asukoha või kettaploki.

Andmebaaside indekseerimise tüübid

Andmebaaside indekseerimiseks on üldiselt kolm meetodit. Nemad on:

  • Klasterdatud indekseerimine
  • Klasterita indekseerimine
  • Mitmetasandiline indekseerimine

1. Rühmitatud indekseerimine

Rühmitatud indekseerimisel võib üks fail salvestada rohkem kui kaks andmekirjet. Süsteem hoiab tegelikke andmeid pigem rühmitatud indekseerimises kui näpunäidetes. Otsimine on rühmitatud indekseerimisega kulutõhus, kuna see salvestab kõik seotud andmed samasse kohta.

parim koht muusika CD -de ostmiseks Internetist

Klasterindeks kasutab enda määratlemiseks järjestatud andmefaile. Samuti on seda tüüpi indekseerimise puhul väga levinud mitme andmebaasi tabeli ühendamine.

Samuti on võimalik luua indeks, mis põhineb mitte-esmastel veergudel, mis ei ole iga võtme jaoks ainulaadsed. Sellistel juhtudel ühendab see mitu veergu, moodustades rühmitatud indeksite unikaalsed võtmeväärtused.

Lühidalt, rühmitamise indeksid on need, kus sarnased andmetüübid on rühmitatud ja nende jaoks indeksid loodud.

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

Iga klaster, mille töötajad töötavad samas osakonnas, määratletakse ühe klastrina ja indeksite andmete näpunäited viitavad klastrile kui tervikule.

Seotud: Mis on võõrad võtmed SQL -andmebaasides?

2. Klasterita indekseerimine

Klasterita indekseerimine viitab indekseerimise tüübile, kus indeksireade järjestus ei ole sama, mis algsete andmete füüsiline salvestamine. Selle asemel osutab rühmitamata indeks andmebaasi andmete salvestamisele.

Näide: Klasterita indekseerimine sarnaneb raamatule, millel on tellitud sisuleht. Siin on andmete osuti või viide tellitud sisuleht, mis on tähestikulises järjestuses ja tegelikud andmed on raamatu lehtedel olev teave. Sisuleht ei salvesta teavet raamatu lehtedele nende järjekorras.

3. Mitmetasandiline indekseerimine

Mitmetasandilist indekseerimist kasutatakse siis, kui indeksite arv on väga suur ja see ei saa primaarindeksit põhimällu salvestada. Nagu te ehk teate, sisaldavad andmebaaside indeksid otsinguklahve ja andmete näpunäiteid. Kui andmebaasi suurus suureneb, kasvab ka indeksite arv.

Kiire otsingutoimingu tagamiseks on aga vaja mälu hoida registrikirjeid. Kui ühtse astme indeksit kasutatakse, kui indeksi number on suur, ei salvesta see indeks tõenäoliselt mällu selle suuruse ja mitme juurdepääsu tõttu.

Siin tuleb mängu mitmetasandiline indekseerimine. See meetod purustab ühetasandilise indeksi mitmeks väiksemaks plokiks. Pärast lagunemist muutub välimine tasandiplokk nii pisikeseks, et seda saab hõlpsasti põhimällu salvestada.

Seotud: Kuidas luua ühendus Javaga MySQL -i andmebaasiga

Mis on SQL -i indeksi killustamine?

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

Lisaks andmebaasi killustumisele võib teie andmebaas silmitsi seista ka muude oluliste probleemidega, näiteks andmebaasi riknemisega. See võib viia andmete kadumiseni ja veebisaidi kahjustamiseni. Kui teete oma veebisaidiga äri, võib see teile saatuslikuks löögiks saada.

Jaga Jaga Piiksuma E -post SQL Serveri andmed on rikutud? Proovige see SQL -i taastamise tööriistakastiga taastada

SQL Serveri taastamise tööriistakast aitab parandada MS SQL Serveri rikutud MDF -faile kõigi versioonide jaoks.

kas saate oma snapchati filtri teha
Loe edasi Seotud teemad
  • Programmeerimine
  • SQL
  • Andmete analüüs
  • andmebaas
Autori kohta Zadhid A. Powell(Avaldatud 16 artiklit)

Zadhid Powell on arvutitehnik, kes loobus kirjutamisest alustama kodeerimisest! Lisaks on ta digitaalturundaja, tehnoloogiahuviline, SaaS -i ekspert, lugeja ja tark tarkvara trendide jälgija. Sageli võite leida teda kitarriga kesklinna klubides õõtsumas või ookeanipõhjas sukeldumist kontrollimas.

Rohkem Zadhid A. Powellilt

Telli meie uudiskiri

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

Tellimiseks klõpsake siin