Verschil tussen cluster- en niet-clusterindex

Verschil tussen cluster- en niet-clusterindex
Verschil tussen cluster- en niet-clusterindex

Video: Verschil tussen cluster- en niet-clusterindex

Video: Verschil tussen cluster- en niet-clusterindex
Video: Elektriciteit 1: Stroom en spanning 2024, November
Anonim

Cluster versus niet-clusterindex

Indexen zijn erg belangrijk in elke database. Ze worden gebruikt om de prestaties van het ophalen van gegevens uit tabellen te verbeteren. Ze zijn logisch en fysiek onafhankelijk van de gegevens in de bijbehorende tabellen. Daarom kunnen indexen worden verwijderd, opnieuw gemaakt en opnieuw opgebouwd zonder de gegevens van de basistabellen te beïnvloeden. Oracle-server kan zijn indexen automatisch onderhouden zonder enige tussenkomst van een DBA, wanneer de gerelateerde tabellen worden ingevoegd, bijgewerkt en verwijderd. Er zijn verschillende indextypen. Hier zijn er enkele.

1. B-boom indexen

2. Bitmap-indexen

3. Functie-gebaseerde indexen

4. Indexen met omgekeerde sleutel

5. B-tree clusterindexen

Wat is een niet-clusterindex?

Van de bovenstaande indextypen zijn de volgende niet-geclusterde indexen.

• B-boom index

• Bitmapindex

• Op functie gebaseerde index

• Reverse-key indexen

B-tree-indexen zijn het meest gebruikte indextype van databases. Als de opdracht CREATE INDEX op de database wordt gegeven, zonder een type op te geven, maakt de Oracle-server een b-tree-index. Wanneer een b-tree-index wordt gemaakt op een specifieke kolom, slaat de oracle-server de waarden van de kolom op en houdt een verwijzing naar de eigenlijke rij van de tabel bij.

Bitmap-indexen worden gemaakt wanneer de kolomgegevens niet erg selectief zijn. Dat betekent dat de kolomgegevens een lage kardinaliteit hebben. Deze zijn speciaal ontworpen voor datawarehouses en het is niet goed om bitmapindexen te gebruiken op zeer bijwerkbare of transactietabellen.

Functionele indexen komen van Oracle 8i. Hier wordt een functie gebruikt in de geïndexeerde kolom. Daarom worden kolomgegevens in een functionele index niet op de normale manier gesorteerd. Het sorteert de waarden van de kolommen na het toepassen van de functie. Deze zijn erg handig wanneer de WHERE-afsluiting van de select-query een functie wordt gebruikt.

Reverse-key indexen zijn een zeer interessant indextype. Laten we aannemen dat een kolom veel unieke stringgegevens bevat, zoals 'cityA', 'cityB', 'cityC' … enz. Alle waarden hebben een patroon. De eerste vier tekens zijn hetzelfde en de volgende delen zijn gewijzigd. Dus wanneer REVERSE key index wordt aangemaakt op deze kolom, zal Oracle de string omkeren en herstellen in een b-tree index.

De bovengenoemde indextypen zijn NIET-GECLUSTERDE indexen. Dat betekent dat geïndexeerde gegevens buiten de tabel worden opgeslagen en dat er een gesorteerde verwijzing naar de tabel wordt bewaard.

Wat is een geclusterde index?

Geclusterde indexen zijn een speciaal type indexen. Het slaat gegevens op volgens de manier waarop tabelgegevens fysiek worden opgeslagen. Er kunnen dus niet veel geclusterde indexen voor één tabel zijn. Eén tabel kan slechts één geclusterde index hebben.

Wat is het verschil tussen geclusterde en niet-geclusterde indexen?

1. Tabel kan slechts één geclusterde index hebben, maar er kunnen maximaal 249 niet-geclusterde indexen in één tabel zijn.

2. Een geclusterde index wordt automatisch gemaakt wanneer een primaire sleutel wordt gemaakt, maar een niet-geclusterde index wordt gemaakt wanneer een unieke sleutel wordt gemaakt.

3. De logische volgorde van de geclusterde index komt overeen met de fysieke volgorde van de tabelgegevens, maar in niet-geclusterde indexen niet.

Aanbevolen: