Razlika između Clustered i Neklasterizirani indeks
Ključna razlika između Clustered i neklasterizirani indeks
- Klasterski indeks vrsta je indeksa koji razvrstava retke podataka u tablici prema njihovim ključnim vrijednostima, dok neklasterizirani indeks pohranjuje podatke na jednu lokaciju, a indekse na drugu lokaciju.
- Clustered index pohranjuje podatkovne stranice u lisne čvorove indeksa, dok metoda neklasteriranog indeksa nikada ne pohranjuje podatkovne stranice u lisne čvorove indeksa.
- Indeks klastera ne zahtijeva dodatni prostor na disku, dok indeks koji nije klaster zahtijeva dodatni prostor na disku.
- Cluster indeks nudi brži pristup podacima, s druge strane, neklasterirani indeks je sporiji.

Što je indeks?
Indeks je ključ izgrađen od jednog ili više stupaca u bazi podataka koji ubrzava dohvaćanje redaka iz tablice ili prikaza. Ovaj ključ pomaže lajku baze podataka Oracle, SQL poslužitelj, MySQL, itd. kako biste brzo pronašli red povezan s ključnim vrijednostima.
Dvije su vrste indeksa:
- Clusterizd. Kazalo
- Ne-Clusterizd. Kazalo
Što je a Clustered indeks?
Cluster indeks je vrsta indeksa koji razvrstava retke podataka u tablici prema njihovim ključnim vrijednostima. U bazi podataka postoji samo jedan klasterirani indeks po tablici.
Klasterizirani indeks definira redoslijed pohranjivanja podataka u tablicu koja se može sortirati na samo jedan način. Dakle, može postojati samo jedan klasterirani indeks za svaku tablicu. U RDBMS-u, obično, primarni ključ omogućuje stvaranje grupiranog indeksa na temelju tog specifičnog stupca.
Što je neklasterirani indeks?
Neklasterizirani indeks pohranjuje podatke na jednu lokaciju, a indekse na drugu lokaciju. Indeks sadrži pokazivače na lokaciju tih podataka. Jedna tablica može imati mnogo neklasteriranih indeksa jer je indeks u neklasteriranom indeksu pohranjen na različitim mjestima.
Na primjer, knjiga može imati više od jednog indeksa, jedan na početku koji prikazuje sadržaj knjižne jedinice dok drugi indeks prikazuje indeks pojmova po abecednom redu.
Indeks neklasteriranja definiran je u polju tablice bez sređivanja. Ova vrsta metode indeksiranja pomaže vam da poboljšate izvedbu upita koji koriste ključeve koji nisu dodijeljeni kao primarni ključ. Neklasterizirani indeks omogućuje vam dodavanje jedinstvenog ključa za tablicu.
Karakteristično za Clusterizd. Kazalo
- Zadana i sortirana pohrana podataka
- Koristite samo jedan ili više stupaca za indeks
- Pomaže vam da zajedno pohranjujete podatke i indeks
- Fragmentacija
- Operama
- Clusterskeniranje indeksa i traženje indeksa
- Pretraga ključa
Karakteristike neklasteriziranih indeksa
- Pohranite samo ključne vrijednosti
- Pokazivači na hrpu/Clustered Indeksni redovi
- Omogućuje pristup sekundarnim podacima
- Most do podataka
- Operafunkcije Index Scan i Index Seek
- Možete stvoriti neklasterirani indeks za tablicu ili prikaz
- Svaki indeksni red u neklasteriranom indeksu pohranjuje vrijednost neklasteriranog ključa i lokator retka
Clustered u odnosu na neklasterirani indeks u SQL-u: ključne razlike
Parametri | Clustered | Neklasterizirano |
---|---|---|
Koristiti za | Možete razvrstati zapise i pohraniti klasterirani indeks fizički u memoriju prema redoslijedu. | Neklasterizirani indeks pomaže vam da stvorite logički poredak za retke podataka i koristi pokazivače za fizičke podatkovne datoteke. |
Način skladištenja | Omogućuje pohranjivanje stranica s podacima u lisne čvorove indeksa. | Ova metoda indeksiranja nikada ne pohranjuje podatkovne stranice u lisne čvorove indeksa. |
Veličina | Veličina grupiranog indeksa je prilično velika. | Veličina neklasteriziranog indeksa mala je u usporedbi s klasteriziranim indeksom. |
Pristup podacima | Brže | Sporije u usporedbi s grupiranim indeksom |
Dodatni prostor na disku | Nije obavezno | Potrebno je zasebno pohraniti indeks |
Vrsta ključa | Prema zadanim postavkama primarni ključevi tablice su a Clusterizd. Kazalo. | Može se koristiti s jedinstvenim ograničenjem na tablici koja djeluje kao složeni ključ. |
Glavna značajka | Grupirani indeks može poboljšati izvedbu dohvaćanja podataka. | Treba ga izraditi na stupcima koji se koriste u spojevima. |
Primjer grupiranog indeksa
U donjem primjeru, SalesOrderDetailID je klasterirani indeks. Ogledni upit za dohvaćanje podataka
SELECT CarrierTrackingNumber, UnitPrice FROM SalesData WHERE SalesOrderDetailID = 6
Primjer neklasteriziranog indeksa
U donjem primjeru, neklastični indeks kreiran je na OrderQty i ProductID kako slijedi
CREATE INDEX myIndex ON SalesData (ProductID, OrderQty)
Sljedeći upit bit će dohvaćen brže u usporedbi s klasteriranim indeksom.
SELECT Product ID, OrderQty FROM SalesData WHERE ProductID = 714
Prednosti Clusterizd. Kazalo
Prednosti/prednosti klasteriranog indeksa su:
- Clustered indeksi idealna su opcija za raspon ili grupiranje s upitima tipa max, min, count
- U ovoj vrsti indeksa, pretraživanje može ići ravno do određene točke u podacima tako da možete nastaviti čitati uzastopno od tamo.
- Clustered metoda indeksa koristi mehanizam lokacije za lociranje unosa indeksa na početku raspona.
- To je učinkovita metoda za pretraživanje raspona kada se traži raspon vrijednosti ključa pretraživanja.
- Pomaže vam da minimizirate prijenose stranica i povećate učitavanje predmemorije.
Prednosti neklasteriziranog indeksa
Prednosti korištenja neklasteriziranog indeksa su:
- Indeks bez klasteriranja pomaže vam da brzo dohvatite podatke iz tablice baze podataka.
- Pomaže vam da izbjegnete režijske troškove povezane s klasteriranim indeksom
- Tablica može imati višestruke neklasterirane indekse RDBMS. Dakle, može se koristiti za stvaranje više od jednog indeksa.
Nedostaci Clusterizd. Kazalo
Ovdje su mane/nedostaci korištenja grupiranog indeksa:
- Mnogo umetaka u nesekvencijalnom redoslijedu
- Grupirani indeks stvara puno stalnih podjela stranica, što uključuje podatkovnu stranicu kao i indeksne stranice.
- Dodatni posao za SQL za umetanje, ažuriranje i brisanje.
- Grupiranom indeksu treba više vremena za ažuriranje zapisa kada se promijene polja u klasteriranom indeksu.
- Listni čvorovi uglavnom sadrže podatkovne stranice u klasteriranom indeksu.
Nedostaci neklasteriziranog indeksa
Evo nedostataka/nedostataka korištenja neklasteriziranog indeksa:
- Neklasterirani indeks pomaže vam u pohranjivanju podataka u logičkom redoslijedu, ali ne dopušta fizičko sortiranje redova podataka.
- Proces pretraživanja na neklasteriranom indeksu postaje skup.
- Svaki put kada se ključ klasteriranja ažurira, potrebno je odgovarajuće ažuriranje na neklasteriziranom indeksu jer on pohranjuje ključ klasteriranja.