Indeksid on sisuliselt vajalikud terviklikkuse piirangute tõhusaks täitmiseks ja päringute ja tehingute tõhusaks töötlemiseks. Need on loodud tabelite ja vaadete alusel. Näiteks raamatutes kasutatavad indeksid, mis hõlbustavad kasutajal raamatu sisule kiiret ligipääsu, on sarnased ka SQL-i indeksid.
Võrdluskaart
Võrdluse alus | Klastrite indeks | Mitte klastrite indeks |
---|---|---|
Põhiline | Määrab tabelis olevate ridade salvestusjärjestuse tervikuna. | Määrab tabelis olevate ridade salvestusjärjestuse eraldi füüsilise struktuuri abil. |
Tabeli kohta lubatud indeksite arv | Ainult üks klastrite indeks | Mitmed mitterühmitamata indeksid |
Andmete juurdepääs | Kiirem | Aeglasem võrreldes klastrite indeksiga |
Täiendav kettaruum | Ei ole vajalik | Nõutud indeksite eraldi salvestamiseks |
Klastrite indeksi määratlus
Klastrite indeksit kasutatakse põhimõtteliselt tabelite ridade tellimiseks. Tabelil võib olla ainult üks klastrite indeks, sest tabelis olevaid ridu saab sorteerida ainult ühes järjekorras, kuid on olemas mooduseid, kuidas luua koondklastri indeks . Veerud on klastrite indeksisse lisatud ning võtmeväärtuste loogiline või indekseeritud järjestus on sama, mis vastavate ridade füüsiliselt salvestatud järjekord. Kui andmete jaoks ei ole klastrite indeksit, salvestatakse see hunnikusse .
Hunnikule pääsev kirje on väga aeganõudev, kus iga tabeli kirje sisestatakse soovitud andmetele juurdepääsuks. Tabeli skaneerimisel ei olnud võimalik teada saada, kas on rohkem vasteid saadaval või mitte. Niisiis, see meetod oli väga ebaefektiivne.
Klastrite indeksit kasutades on andmetele juurdepääs kiirem ja süstemaatilisem, kui tabel on korraldatud mingis järjekorras. See on määratletud tabeli tellimisväljal. Selle otsinguklahvi kasutatakse faili või tabeli järjestikuse paigutuse määramiseks. Klastrite indeks luuakse automaatselt, kui tabeli jaoks on määratud esmane võti .
Mitte klastrite indeksi määratlus
Mitte-klastrite indeks salvestab andmed ühes kohas ja indeksid erinevas kohas ja indeksil on viited andmete salvestamise asukohale. Tabelil võib olla mitu mittekombinatsioonilist indeksit, sest indeks, mis ei ole rühmitatud indeksis, salvestatakse erinevasse kohta. Näiteks võib raamatul olla rohkem kui üks indeks, üks alguses, mis näitab raamatuüksuse sisu ja teist indeksit, mis näitab terminite indeksit tähestikulises järjekorras.
See on määratletud tabeli mitte-tellimisväljal. Mitte-klastrite indeks võib parandada päringute, mis kasutavad muid võtmeid kui esmane võtmed, toimivust. Mitte-klastrite indeks luuakse automaatselt, kui tabeli jaoks on määratud unikaalne võti .
Klastrite ja rühmitamata indeksite põhilised erinevused
- Klastrite indeks, mida tabel võib olla, on ainult üks. Arvestades, et tabelil võib olla mitu mitteklastriindeksit.
- Klastrite indeks on kiirem kui mitte-klastrite indeks, sest mitteklastrite indeks peab viitama põhitabelile. Vastupidi, klastrite indeks ei ole nii.
- Mitte-klastrite indeksis salvestatakse indeks eraldi asukohta, mis nõuab täiendavat mäluruumi. Seevastu klastrite indeks salvestab põhitabeli andmed samas füüsilises järjekorras kui indeksi loogiline järjekord, nii et see ei vaja täiendavat salvestusruumi.
Järeldus
Klastrite indeks on viis, kuidas andmeid tabeli ridades teatud kindlas järjekorras salvestada. Nii et kui soovitud andmeid otsitakse, mõjutab see ainus vastav rida, mis sisaldab andmeid ja on esitatud väljundina. Teisest küljest asub mitteklastraline indeks füüsiliselt eraldiseisvas struktuuris, mis viitab baasandmetele, kui neid otsitakse. Mitte-klastrite struktuuril võib olla erinev sortimisjärjestus.