Diferència entre l'índex de clúster i no de clúster

Diferència entre l'índex de clúster i no de clúster
Diferència entre l'índex de clúster i no de clúster

Vídeo: Diferència entre l'índex de clúster i no de clúster

Vídeo: Diferència entre l'índex de clúster i no de clúster
Vídeo: The Electric Battery and Conventional Current - Introduction to Basic Electricity 2024, Desembre
Anonim

Índex de clúster vs que no és de clúster

Els índexs són molt importants a qualsevol base de dades. S'utilitzen per millorar el rendiment de la recuperació de dades de les taules. Són lògicament i físicament independents de les dades de les taules associades. Per tant, els índexs es poden eliminar, recrear i reconstruir sense afectar les dades de les taules base. El servidor Oracle pot mantenir automàticament els seus índexs sense cap implicació d'un DBA, quan s'insereixen, s'actualitzen i s'eliminen les taules relacionades. Hi ha diversos tipus d'índex. Aquí teniu alguns d'ells.

1. Índexs d'arbre B

2. Índexs de mapes de bits

3. Índexs basats en funcions

4. Índexs de clau inversa

5. Índexs de clúster d'arbre B

Què és un índex que no és de clúster?

Dels tipus d'índex anteriors, els següents són índexs no agrupats.

• Índex de l'arbre B

• Índex de mapa de bits

• Índex basat en funcions

• Índexs de clau inversa

Els índexs d'arbre B són el tipus de bases de dades d'índex més utilitzat. Si s'emet l'ordre CREATE INDEX a la base de dades, sense especificar un tipus, el servidor Oracle crea un índex b-tree. Quan es crea un índex b-tree en una columna específica, el servidor Oracle emmagatzema els valors de la columna i manté una referència a la fila real de la taula.

Els índexs de mapes de bits es creen quan les dades de la columna no són gaire selectives. Això vol dir que les dades de la columna tenen una cardinalitat baixa. Aquests estan especialment dissenyats per a magatzems de dades i no és bo utilitzar índexs de mapa de bits en taules transaccionals o molt actualitzables.

Els índexs funcionals provenen d'Oracle 8i. Aquí, s'utilitza una funció a la columna indexada. Per tant, en un índex funcional, les dades de columna no s'ordenen de la manera normal. Ordena els valors de les columnes després d'aplicar la funció. Són molt útils quan s'utilitza una funció de tancament WHERE de la consulta de selecció.

Els índexs de clau inversa són un tipus d'índex molt interessant. Suposem que una columna conté moltes dades de cadena úniques com "cityA", "cityB", "cityC"… etc. Tots els valors tenen un patró. Els primers quatre caràcters són iguals i les parts següents es canvien. Així, quan es creï l'índex de clau REVERSE en aquesta columna, Oracle invertirà la cadena i la restaurarà en un índex d'arbre b.

Els tipus d'índex esmentats anteriorment són índexs NO CLUSTER. Això vol dir que les dades indexades s'emmagatzemen fora de la taula i es conserva una referència ordenada a la taula.

Què és un índex agrupat?

Els índexs agrupats són un tipus especial d'índexs. Emmagatzema dades segons la manera d'emmagatzemar les dades de la taula físicament. Per tant, no hi pot haver molts índexs agrupats per a una taula. Una taula només pot tenir un índex agrupat.

Quina diferència hi ha entre els índexs agrupats i els no agrupats?

1. La taula només pot tenir un índex agrupat, però hi pot haver fins a 249 índexs no agrupats en una taula.

2. L'índex agrupat es crea automàticament quan es crea una clau primària, però es crea un índex no agrupat quan es crea una clau única.

3. L'ordre lògic de l'índex agrupat coincideix amb l'ordre físic de les dades de la taula, però en els índexs no agrupats, no.

Recomanat: