Erotus Clustered ja Ei-klusteroitu indeksi

Keskeinen ero Clustered ja Ei-klusteroitu indeksi

  • Klusteriindeksi on indeksityyppi, joka lajittelee taulukon tietorivit niiden avainarvojen mukaan, kun taas klusteroitumaton indeksi tallentaa tiedot yhteen paikkaan ja indeksit toiseen sijaintiin.
  • Clustered index tallentaa tietosivut hakemiston lehtisolmuihin, kun taas ei-klusteroitu indeksimenetelmä ei koskaan tallenna tietosivuja indeksin lehtisolmuihin.
  • Klusterihakemisto ei vaadi lisää levytilaa, kun taas ei-klusteroitu indeksi vaatii lisää levytilaa.
  • Cluster indeksi tarjoaa nopeamman tiedonsaannin, toisaalta klusteroitumaton indeksi on hitaampi.
Erotus Clustered ja Ei-klusteroitu indeksi
Clustered vs Ei-klusteroitu indeksi

Mikä on hakemisto?

Hakemisto on yhdestä tai useammasta tietokannan sarakkeesta muodostettu avain, joka nopeuttaa rivien hakemista taulukosta tai näkymästä. Tämä avain auttaa tietokannassa, kuten Oracle, SQL-palvelin, MySQLjne. löytääksesi avainarvoihin liittyvän rivin nopeasti.

Kahden tyyppisiä indeksejä ovat:

  • Clustered Index
  • Ei-Clustered Index

Mikä on a Clustered indeksi?

Cluster indeksi on indeksityyppi, joka lajittelee taulukon tietorivit niiden avainarvojen mukaan. Tietokannassa on vain yksi klusteroitu indeksi taulukkoa kohden.

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

Mikä on klusteroitumaton indeksi?

Ei-klusteroitu indeksi tallentaa tiedot yhteen paikkaan ja indeksit toiseen paikkaan. Hakemisto sisältää osoittimia näiden tietojen sijaintiin. Yhdessä taulukossa voi olla useita klusteroimattomia indeksejä, koska klusteroimattoman indeksin indeksi on tallennettu eri paikkoihin.

Esimerkiksi kirjassa voi olla useampi kuin yksi hakemisto, yksi alussa, joka näyttää kirjan yksikön sisällön, kun taas toinen hakemisto näyttää termien hakemiston aakkosjärjestyksessä.
Ei-klusteroiva indeksi määritellään taulukon ei-järjestyskentässä. Tämäntyyppinen indeksointimenetelmä auttaa parantamaan sellaisten kyselyiden suorituskykyä, jotka käyttävät avaimia, joita ei ole määritetty ensisijaiseksi avaimeksi. Klusteroimattoman hakemiston avulla voit lisätä taulukkoon ainutlaatuisen avaimen.

Tyypillinen Clustered Index

  • Oletus- ja lajiteltu tietojen tallennus
  • Käytä hakemistossa vain yhtä tai useampaa saraketta
  • Auttaa tallentamaan tietoja ja indeksejä yhdessä
  • Hajanaisuus
  • OperaTIONS
  • Clustered index skannaus ja indeksihaku
  • Avaimen haku

Ei-klusteroitujen indeksien ominaisuudet

  • Tallenna vain avainarvot
  • Osoittimet kasaan/Clustered Hakemistorivejä
  • Sallii toissijaisen tiedon käytön
  • Silta dataan
  • OperaIndex Scan ja Index Seek
  • Voit luoda klusteroimattoman indeksin taulukolle tai näkymälle
  • Jokainen klusteroimattoman indeksin indeksirivi tallentaa klusteroimattoman avaimen arvon ja rivipaikantimen

Clustered vs ei-klusteroitu indeksi SQL:ssä: keskeiset erot

parametrit Clustered Ei klusteroitu
Käyttää Voit lajitella tietueita ja tallentaa klusteroituja indeksejä fyysisesti muistiin tilauksen mukaan. Klusteroimaton indeksi auttaa luomaan loogisen järjestyksen tietoriville ja käyttää osoittimia fyysisille datatiedostoille.
Tallennusmenetelmä Mahdollistaa tietosivujen tallentamisen hakemiston lehtisolmuihin. Tämä indeksointimenetelmä ei koskaan tallenna tietosivuja indeksin lehtisolmuihin.
Koko Klusteriindeksin koko on melko suuri. Klusteroimattoman indeksin koko on pieni verrattuna klusteroituun indeksiin.
Tietojen käyttö Nopeampi Hitaampi verrattuna klusteroituun indeksiin
Lisää levytilaa Ei vaadittu Tarvitaan indeksin tallentamiseen erikseen
Avaimen tyyppi Oletuksena taulukon ensisijaiset avaimet on a Clustered Index. Sitä voidaan käyttää ainutlaatuisella rajoituksella taulukossa, joka toimii yhdistelmäavaimena.
Pääominaisuus Klusteroitu indeksi voi parantaa tiedonhaun suorituskykyä. Se tulisi luoda sarakkeille, joita käytetään liitoksissa.

Esimerkki klusteroidusta indeksistä

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

SELECT CarrierTrackingNumber, UnitPrice
FROM SalesData
WHERE SalesOrderDetailID = 6

Esimerkki klusteroidusta indeksistä

Esimerkki klusteroimattomasta indeksistä

Alla olevassa esimerkissä klusteroitumaton indeksi luodaan tilausmäärälle ja tuotetunnukselle seuraavasti

CREATE INDEX myIndex ON
SalesData (ProductID, OrderQty)

Esimerkki klusteroimattomasta indeksistä

Seuraava kysely haetaan nopeammin kuin klusteroitu indeksi.

SELECT Product ID, OrderQty
FROM SalesData
WHERE ProductID = 714

Esimerkki klusteroimattomasta indeksistä

Edut Clustered Index

Klusteroidun indeksin edut/edut ovat:

  • Clustered-indeksit ovat ihanteellinen vaihtoehto alueen tai ryhmittelyn mukaan max-, min-, count-tyyppisillä kyselyillä
  • Tämän tyyppisessä hakemistossa haku voi mennä suoraan tiettyyn datapisteeseen, jotta voit jatkaa lukemista peräkkäin sieltä.
  • Clustered index -menetelmä käyttää sijaintimekanismia paikantaakseen indeksimerkinnän alueen alusta.
  • Se on tehokas menetelmä aluehauille, kun pyydetään hakuavaimen arvoaluetta.
  • Auttaa minimoimaan sivujen siirrot ja maksimoimaan välimuistin osumat.

Ei-klusteroidun indeksin edut

Klusteroimattoman indeksin käytön edut ovat:

  • Ei-klusteroiva indeksi auttaa sinua hakemaan tiedot nopeasti tietokantataulukosta.
  • Auttaa sinua välttämään klusteroituun indeksiin liittyvät yleiskustannukset
  • Taulukossa voi olla useita klusteroimattomia indeksejä RDBMS. Joten sitä voidaan käyttää useamman kuin yhden indeksin luomiseen.

Haitat Clustered Index

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

  • Paljon lisäosia ei-peräkkäisessä järjestyksessä
  • Klusteroitu hakemisto luo paljon jatkuvia sivujakoja, jotka sisältävät tietosivun sekä hakemistosivut.
  • Ylimääräistä työtä SQL lisäyksiä, päivityksiä ja poistoja varten.
  • Klusteroidun indeksin tietueiden päivittäminen kestää kauemmin, kun klusteroidun indeksin kenttiä muutetaan.
  • Lehtisolmut sisältävät enimmäkseen tietosivuja klusteroidussa hakemistossa.

Ei-klusteroidun indeksin haitat

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

  • Klusteroimaton indeksi auttaa sinua tallentamaan tiedot loogisessa järjestyksessä, mutta se ei salli tietorivien fyysistä lajittelua.
  • Hakuprosessi ei-klusteroidussa indeksissä tulee kalliiksi.
  • Joka kerta kun klusterointiavain päivitetään, vastaava päivitys vaaditaan ei-klusteroituun indeksiin, koska se tallentaa klusterointiavaimen.

Tiivistä tämä viesti seuraavasti: