Indeks v gručah in neklasteri: ključne razlike s primerom

Kazalo:

Anonim

Kaj je indeks?

Indeks je ključ, zgrajen iz enega ali več stolpcev v bazi podatkov, ki pospeši pridobivanje vrstic iz tabele ali pogleda. Ta ključ pomaga zbirki podatkov, kot so Oracle, SQL Server, MySQL itd., Da hitro najde vrstico, povezano z vrednostmi ključev.

Dve vrsti indeksov sta:

  • Gručasti indeks
  • Ne-grozdni indeks

V tej vadnici boste izvedeli:

  • Kaj je indeks?
  • Kaj je gručasti indeks?
  • Kaj je neklasterizirani indeks?
  • Značilnost gručastega indeksa
  • Značilnosti nekrustnih indeksov
  • Primer gručastega indeksa
  • Primer neklastenega indeksa
  • Razlike med grozdnim indeksom in neklasteriziranim indeksom
  • Prednosti gručastega indeksa
  • Prednosti neklastenega indeksa
  • Slabosti gručastega indeksa
  • Slabosti neklastenega indeksa

Kaj je gručasti indeks?

Indeks gruč je vrsta indeksa, ki razvršča podatkovne vrstice v tabeli glede na njihove ključne vrednosti. V zbirki podatkov je na tabelo samo en gručasti indeks.

Gručasti indeks določa vrstni red shranjevanja podatkov v tabeli, ki jih je mogoče razvrstiti samo na en način. Torej, za vsako tabelo je lahko en sam gručasti indeks. V RDBMS običajno primarni ključ omogoča ustvarjanje gručastega indeksa na podlagi tega posebnega stolpca.

Kaj je neklasterizirani indeks?

Negrupirani indeks podatke shranjuje na enem mestu, indekse pa na drugem. Kazalo vsebuje kazalce na lokacijo teh podatkov. Posamezna tabela ima lahko veliko ne-gručastih indeksov, saj je indeks v ne-gručastem indeksu shranjen na različnih mestih.

Na primer, knjiga ima lahko več indeksov, eden na začetku, ki prikazuje vsebino knjižne enote, drugi indeks pa indeks izrazov po abecednem vrstnem redu.

Indeks, ki ni razvrščen v grozde, je definiran v polju za razvrščanje v tabeli. Ta vrsta indeksiranja vam pomaga izboljšati delovanje poizvedb, ki uporabljajo ključe, ki niso dodeljeni kot primarni ključ. Negrupirani indeks vam omogoča dodajanje edinstvenega ključa za tabelo.

KLJUČNA RAZLIKA

  • Indeks grozda je vrsta indeksa, ki vrstice podatkov v tabeli razvrsti glede na njihove ključne vrednosti, medtem ko neklasterirani indeks podatke shrani na enem mestu in indeksira na drugem mestu.
  • Gručasti indeks shrani podatkovne strani v listnih vozliščih indeksa, medtem ko neklasterizirana metoda indeksa nikoli ne shrani podatkovnih strani v listnih vozliščih indeksa.
  • Indeks gruč ne zahteva dodatnega prostora na disku, medtem ko neklasteri indeks zahteva dodaten prostor na disku.
  • Indeks grozdov ponuja hitrejši dostop do podatkov, po drugi strani pa je ne-grozdni indeks počasnejši.

Značilnost gručastega indeksa

  • Privzeto in razvrščeno shranjevanje podatkov
  • Za indeks uporabite samo enega ali več stolpcev
  • Pomaga vam pri shranjevanju podatkov in indeksiranju skupaj
  • Razdrobljenost
  • Operacije
  • Skupinsko iskanje indeksov in iskanje indeksa
  • Iskanje ključa

Značilnosti nekrustnih indeksov

  • Shrani samo vrednosti ključev
  • Kazalci na vrstice kopičenja / gručastega indeksa
  • Omogoča sekundarni dostop do podatkov
  • Prehod na podatke
  • Delovanje indeksnega skeniranja in indeksnega iskanja
  • Za tabelo ali pogled lahko ustvarite neklasterizirani indeks
  • Vsaka vrstica indeksa v neklasteriziranem indeksu shrani neklasterizirano vrednost ključa in lokator vrstic

Primer gručastega indeksa

V spodnjem primeru je SalesOrderDetailID gručasti indeks. Vzorčna poizvedba za pridobivanje podatkov

SELECT CarrierTrackingNumber, UnitPriceFROM SalesDataWHERE SalesOrderDetailID = 6

Primer neklastenega indeksa

V spodnjem primeru se za OrderQty in ProductID ustvari neklasterizirani indeks, kot sledi

CREATE INDEX myIndex ONSalesData (ProductID, OrderQty)

Naslednja poizvedba bo hitreje pridobljena v primerjavi z grozdnim indeksom.

SELECT Product ID, OrderQtyFROM SalesDataWHERE ProductID = 714

Razlike med grozdnim indeksom in neklasteriziranim indeksom

Parametri Zbrani Negrupirano
Uporabi za Zapise lahko razvrstite in grozdni indeks fizično shranite v pomnilnik po naročilu. Negrustirani indeks vam pomaga ustvariti logični vrstni red podatkovnih vrstic in uporablja kazalce za fizične podatkovne datoteke.
Metoda shranjevanja Omogoča shranjevanje podatkovnih strani v listna vozlišča indeksa. Ta metoda indeksiranja nikoli ne shrani podatkovnih strani v listna vozlišča indeksa.
Velikost Velikost gručastega indeksa je precej velika. Velikost neklastenega indeksa je v primerjavi z grozdnim indeksom majhna.
Dostop do podatkov Hitreje Počasneje v primerjavi z grozdnim indeksom
Dodaten prostor na disku Ni zahtevano Zahtevano za shranjevanje indeksa ločeno
Vrsta ključa Privzeto so primarni ključi tabele gručasti indeks. Lahko se uporablja z edinstveno omejitvijo na mizi, ki deluje kot sestavljeni ključ.
Glavna značilnost Gručasti indeks lahko izboljša učinkovitost pridobivanja podatkov. Ustvariti bi ga morali na stolpcih, ki se uporabljajo v združevanjih.

Prednosti gručastega indeksa

Prednosti / koristi gručastega indeksa so:

  • Gručasti indeksi so idealna možnost za obseg ali skupino z poizvedbami tipa max, min, count
  • Pri tej vrsti indeksa lahko iskanje preide naravnost do določene točke v podatkih, tako da lahko od tam nadaljujete zaporedno branje.
  • Metoda gručastega indeksa uporablja mehanizem lokacije za iskanje vnosa indeksa na začetku obsega.
  • Je učinkovita metoda za iskanje obsega, kadar se zahteva obseg vrednosti iskalnih ključev.
  • Pomaga vam zmanjšati prenose strani in povečati število zadetkov v predpomnilniku.

Prednosti neklastenega indeksa

Prednosti uporabe neklastenega indeksa so:

  • Indeks brez grozdenja vam pomaga hitro pridobiti podatke iz tabele zbirke podatkov.
  • Pomaga vam, da se izognete režijskim stroškom, povezanim z grozdnim indeksom
  • Tabela ima lahko več ne-gručastih indeksov v RDBMS. Torej se lahko uporablja za ustvarjanje več kot enega indeksa.

Slabosti gručastega indeksa

Tu so slabosti / slabosti uporabe gručastega indeksa:

  • Veliko vložkov v zaporedju
  • Gručasti indeks ustvarja veliko konstantnih razdeljevanj strani, ki vključuje strani s podatki in strani z indeksi.
  • Dodatno delo za SQL za vstavke, posodobitve in brisanja.
  • Ko se spremenijo polja v gručastem indeksu, traja dlje časa, da posodobi zapise v gručastem indeksu.
  • Listna vozlišča večinoma vsebujejo podatkovne strani v gručastem indeksu.

Slabosti neklastenega indeksa

Tu so slabosti / pomanjkljivosti uporabe neklasteriziranega indeksa:

  • Ne-gručasti indeks vam pomaga shraniti podatke v logičnem vrstnem redu, vendar ne omogoča fizičnega razvrščanja podatkovnih vrstic.
  • Postopek iskanja v ne-gručastem indeksu postane drag.
  • Vsakič, ko se ključ grozda posodobi, je potrebna ustrezna posodobitev indeksa brez gruč, saj shrani ključ grozda.