Klusteroitu vs. ryhmittymätön indeksi: Keskeiset erot esimerkin kanssa

Sisällysluettelo:

Anonim

Mikä on hakemisto?

Hakemisto on avain, joka on rakennettu tietokannan yhdestä tai useammasta sarakkeesta ja joka nopeuttaa rivien hakua taulukosta tai näkymästä. Tämä avain auttaa tietokantaa, kuten Oracle, SQL Server, MySQL jne., Löytämään avainarvoihin liittyvän rivin nopeasti.

Kahta hakemistotyyppiä ovat:

  • Klusteroitu indeksi
  • Ryhmittymätön indeksi

Tässä opetusohjelmassa opit:

  • Mikä on hakemisto?
  • Mikä on klusteroitu indeksi?
  • Mikä on ryhmittymätön indeksi?
  • Ominaisuus klusteroidulle indeksille
  • Ryhmittymättömien indeksien ominaisuudet
  • Esimerkki klusteroidusta indeksistä
  • Esimerkki ryhmittymättömästä indeksistä
  • Klusteroidun indeksin ja ei-klusteroidun indeksin erot
  • Klusteroidun indeksin edut
  • Klusterittoman indeksin edut
  • Klusteroidun indeksin haitat
  • Klusterittoman indeksin haitat

Mikä on klusteroitu indeksi?

Klusterihakemisto on eräänlainen hakemisto, joka lajittelee taulukon tietorivit niiden avainarvoihin. Tietokannassa on vain yksi klusteroitu hakemisto taulukkoa kohti.

Klusteroitu hakemisto määrittää järjestyksen, jossa tiedot tallennetaan taulukkoon ja jotka voidaan lajitella vain yhdellä tavalla. Joten jokaiselle taulukolle voi olla vain yksi klusteroitu indeksi. Yleensä RDBMS: ssä ensisijaisen avaimen avulla voit luoda klusteroidun hakemiston kyseisen sarakkeen perusteella.

Mikä on ryhmittymätön indeksi?

Ryhmittymätön hakemisto tallentaa tiedot yhteen sijaintiin ja indeksoi toiseen sijaintiin. Hakemisto sisältää viitteitä tietojen sijaintiin. Yhdessä taulukossa voi olla useita ryhmittymättömiä hakemistoja, koska hakemisto ryhmittymättömässä hakemistossa on tallennettu eri paikkoihin.

Esimerkiksi kirjassa voi olla useampi kuin yksi hakemisto, yksi alussa, joka näyttää kirjayksikön sisällön viisaasti, kun taas toinen hakemisto näyttää termihakemiston aakkosjärjestyksessä.

Ryhmittymätön indeksi määritetään taulukon ei-järjestys-kentässä. Tämän tyyppinen indeksointimenetelmä auttaa sinua parantamaan kyselyjen suorituskykyä, jotka käyttävät avaimia, joita ei ole määritetty ensisijaiseksi avaimeksi. Ryhmittymättömän hakemiston avulla voit lisätä yksilöllisen avaimen taulukkoon.

TÄRKEÄ ERO

  • Klusterihakemisto on eräänlainen hakemisto, joka lajittelee taulukon tietorivit tärkeimmille arvoilleen, kun taas Ryhmittymätön-indeksi tallentaa tiedot yhteen sijaintiin ja indeksoi toiseen sijaintiin.
  • Klusteroitu hakemisto tallentaa tietosivut indeksin lehtisolmuihin, kun taas Ei-klusteroitu hakemistomenetelmä ei koskaan tallenna tietosivuja indeksin lehtisolmuihin.
  • Klusterihakemisto ei vaadi ylimääräistä levytilaa, kun taas klusteriton hakemisto vaatii lisää levytilaa.
  • Klusterihakemisto tarjoaa nopeamman tiedonsiirron, toisaalta Ryhmittymätön indeksi on hitaampi.

Ominaisuus klusteroidulle indeksille

  • Oletus- ja lajiteltu tietojen tallennus
  • Käytä hakemistoon vain yhtä tai useampaa saraketta
  • Auttaa sinua tallentamaan tietoja ja hakemistoja yhdessä
  • Hajanaisuus
  • Toiminnot
  • Klusteroitu indeksiskannaus ja hakemistohaku
  • Avainhaku

Ryhmittymättömien indeksien ominaisuudet

  • Tallenna vain avainarvot
  • Osoittimet kasaan / klusteroituun hakemistoriviin
  • Sallii toissijaisille tiedoille pääsyn
  • Silta tietoihin
  • Hakemisto- ja hakemistotoiminnot
  • Voit luoda taulukoille tai näkymille hakemattomat hakemistot
  • Jokainen indeksoimaton hakemistorivi tallentaa rivittämättömän avaimen arvon ja rivinhakijan

Esimerkki klusteroidusta indeksistä

Alla olevassa esimerkissä SalesOrderDetailID on klusteroitu indeksi. Esimerkkikysely tietojen noutamiseksi

SELECT CarrierTrackingNumber, UnitPriceFROM SalesDataWHERE SalesOrderDetailID = 6

Esimerkki ryhmittymättömästä indeksistä

Alla olevassa esimerkissä ryhmittymätön hakemisto luodaan OrderQty- ja ProductID-tiedostoille seuraavasti

CREATE INDEX myIndex ONSalesData (ProductID, OrderQty)

Seuraava kysely haetaan nopeammin kuin klusteroitu hakemisto.

SELECT Product ID, OrderQtyFROM SalesDataWHERE ProductID = 714

Klusteroidun indeksin ja ei-klusteroidun indeksin erot

Parametrit Ryhmittynyt Ei klustereita
Käyttää Voit lajitella tietueet ja tallentaa klusteroidun hakemiston fyysisesti muistiin tilauksen mukaan. Ryhmittymätön hakemisto auttaa luomaan loogisen järjestyksen tietoriveille ja käyttää osoittimia fyysisiin datatiedostoihin.
Säilytysmenetelmä Voit tallentaa tietosivut hakemiston lehtisolmuihin. Tämä indeksointimenetelmä ei koskaan tallenna tietosivuja indeksin lehtisolmuihin.
Koko Klusteroidun indeksin koko on melko suuri. Ryhmittymättömän indeksin koko on pieni verrattuna klusteroituun indeksiin.
Tietojen käyttö Nopeammin Hitaammin kuin klusteroitu indeksi
Lisää levytilaa Ei vaadittu Vaaditaan indeksin tallentamiseksi erikseen
Avaimen tyyppi Oletuksena taulukon ensisijaiset avaimet ovat klusteroitu indeksi. Sitä voidaan käyttää ainutlaatuisilla rajoituksilla pöydällä, joka toimii yhdistelmänä.
Pääominaisuus Klusteroitu hakemisto voi parantaa tietojen hakua. Se tulisi luoda sarakkeisiin, joita käytetään liitoksissa.

Klusteroidun indeksin edut

Klusteroidun indeksin edut / edut ovat:

  • Klusteroidut hakemistot ovat ihanteellinen vaihtoehto alueelle tai ryhmittelylle max, min, count -tyyppisten kyselyjen avulla
  • Tämän tyyppisessä hakemistossa haku voi siirtyä suoraan tiettyyn tietopisteeseen, jotta voit jatkaa lukemista peräkkäin sieltä.
  • Klusteroitu hakemistomenetelmä käyttää sijaintimekanismia paikantamaan hakemistomerkinnät alueen alusta.
  • Se on tehokas menetelmä aluehauille, kun haetaan avainarvojen aluetta.
  • Auttaa minimoimaan sivunsiirrot ja maksimoimaan välimuistin osumat.

Klusterittoman indeksin edut

Hyödyt klusteroimattoman indeksin käytöstä ovat:

  • Ryhmittymätön hakemisto auttaa sinua hakemaan tietoja nopeasti tietokantataulukosta.
  • Auttaa välttämään klusteroituun indeksiin liittyviä yleiskustannuksia
  • Taulukossa voi olla useita ryhmittymättömiä hakemistoja RDBMS: ssä. Joten sitä voidaan käyttää useamman kuin yhden indeksin luomiseen.

Klusteroidun indeksin haitat

Tässä on haittoja / haittoja klusteroidun indeksin käytöstä:

  • Paljon inserttejä ei-peräkkäisessä järjestyksessä
  • Ryhmittynyt hakemisto luo paljon jatkuvia sivujakaumia, jotka sisältävät sekä tietosivun että hakemistosivut.
  • Lisätyö SQL: lle lisäyksille, päivityksille ja poistamisille.
  • Klusteroitu hakemisto vie pidempää aikaa tietueiden päivittämiseen, kun klusteroidun hakemiston kenttiä muutetaan.
  • Lehtisolmut sisältävät enimmäkseen tietosivuja klusteroidussa hakemistossa.

Klusterittoman indeksin haitat

Tässä on haittoja / haittoja klusteroimattoman indeksin käytöstä:

  • Ryhmittymätön hakemisto auttaa sinua tallentamaan tietoja loogisessa järjestyksessä, mutta ei salli tietorivien lajittelua fyysisesti.
  • Ryhmittymättömän indeksin hakuprosessi tulee kalliiksi.
  • Aina kun klusterointiavain päivitetään, vastaava päivitys vaaditaan ryhmittymättömään hakemistoon, koska se tallentaa klusterointiavain.