jueves, 24 de octubre de 2013

Actividad 21: Indices

¿Que es un indice?

es una estructura de datos que mejora la velocidad de las operaciones, por medio de un identificador único en cada fila de una tabla, permitiendo un acceso rápido a los registros de una tabla en una base de datos.

Existen 4 tipos de indices:

1.- Normal: El indice que permita que un mismo valor de la expresion se repita en diferentes registros y cada registro tiene su entrada en el indice.

2.- Unico: El indice permite que un mismo valor de la expresion se repita en diferentes registros, pero si varios registros tienen el mismo valor en la expresion, habra una sola entrada en el indice.

3.- Candidato: Esta tipo obliga que la expresion no se repita en diferentes registros y cada registro tiene su entrada en el indice. Habra entonces tantas entradas como registros. Si al construir el indice se encuentran valores repetidos, se da un mensaje de error y el proceso fracasa. Si el inidice se construye con exito y posteriormente se pretende duplicar el valor de la expresion en distintos registros de la tabla, se da un mensaje de error y se pide una decision.

4.- Principal: Es igual en restricciones y funcionamiento al tipo candidatos, pero se aplica solamente a las tablas base y puede haber solo uno por tabla. tiene ventajas sobre los indices candidato.

Crear indices en mysql

aqui se meustra un ejemplo de como crear un indice en mysql en base a los primeros 10 caracteres de una columna

CREATE INDEX part_of_name ON customer (name(10));
 
Indices en oracle
 
En oracle existen tres tipos de indices:
1)Table Index:
CREATE [UNIQUE|BITMAP] INDEX [esquema.]index_name
      ON [esquema.]table_name [tbl_alias]
         (col [ASC | DESC]) index_clause index_attribs
2)Bitmap Join Index:
CREATE [UNIQUE|BITMAP] INDEX [esquema.]index_name
      ON [esquema.]table_name [tbl_alias]
         (col_expression [ASC | DESC])
            FROM [esquema.]table_name [tbl_alias]
               WHERE condition [index_clause] index_attribs
3)Cluster Index:
CREATE [UNIQUE|BITMAP] INDEX [esquema.]index_name
      ON CLUSTER [esquema.]cluster_name index_attribs 

No hay comentarios.:

Publicar un comentario