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
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