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: