viernes, 26 de octubre de 2018

¿Que son índices?
Un índice es una estructura de disco (archivo) asociada a una tabla o una vista.Los índices sirven para buscar los datos mas rápidamente, sin tener que recorrer una tabla de manera secuencial (fila por fila)  para dar con el dato.Permiten localizar y devolver registros de una forma sencilla y rápida. Son especialmente útiles cuando queremos buscar elementos de entre los millones y hasta billones de registros que puede contener una tabla en un momento dado. 


Imagen relacionada

Organizaciones indexadas

Indica el modo de organización según los índices, estos pueden ser secuenciales ordenados (estos se ordenan físicamente según un campo clave) y directos o hash (están organizados por una función hash según un campo clave)


Tipos de índices y usos


Primario:
 Se define sobre ficheros ordenados por un campo clave 

Resultado de imagen para base de datos indices


Agrupados:
 Se define sobre ficheros ordenados por un campo no clave, es decir, que puede haber valores repetidos























Secundario (campo clave):
 Se defino sobre ficheros no ordenados, este campo es único, es decir, no tiene valores repetidos, habrá una entrada en el índice por cada registro en el fichero

Resultado de imagen para base de datos indices

¿Cómo se crean?

Para crear índices se utiliza la instrucción "create index".
La sintaxis básica es la siguiente:


 create TIPOdeINDICE index NOMBREINDICE  on NOMBRETABLA(CAMPOS);


Los índices pueden ser: no únicos (los valores pueden estar repetidos) o únicos (los valores no pueden duplicarse). Por defecto, si no se indica el tipo de índice, este se creara Único
En el siguiente ejemplo creamos un índice único sobre el campo "documento" de la tabla "empleados":


 create unique index I_empleados_documento on empleados(documento);


Una tabla puede indexarse por un campo (o varios).
Otro ejemplo de crear un índice compuesto para los campos "apellido" y "nombre":


 create index I_empleados_apellidonombre on empleado(apellido,nombre);