Un índice es una estructura
de datos definida sobre una columna de tabla (o varias) y que permite localizar
de forma rápida las filas de la tabla en base a su contenido en la columna
indexada además de permitir recuperar las filas de la tabla ordenadas por esa
misma columna.
Funciona de forma parecida
al índice de un libro donde tenemos el título del capítulo y la página donde
empieza dicho capítulo, en un índice definido sobre una determinada columna
tenemos el contenido de la columna y la posición de la fila que contiene dicho
valor dentro de la tabla.
La definición de los índices
de la base de datos es tarea del administrador de la base de datos, los
administradores más experimentados pueden diseñar un buen conjunto de índices,
pero esta tarea es muy compleja, consume mucho tiempo y está sujeta a errores,
incluso con cargas de trabajo y bases de datos con un grado de complejidad no
excesivo.
Tipos
de índices
Índice
simple y compuesto.
Un
índice simple está definido sobre una sola columna de la
tabla mientras que un índice compuesto está formado por varias columnas de la
misma tabla (tabla sobre la cual está definido el índice.
Cuando se define un índice
sobre una columna, los registros que se recuperen utilizando el índice
aparecerán ordenados por el campo indexado. Si se define un índice compuesto
por las columnas col1 y col2, las filas que se recuperen utilizando dicho
índice aparecerán ordenadas por los valores de col1 y todas las filas que
tengan el mismo valor de col1 se ordenarán a su vez por los valores contenidos
en col2, función igual que la cláusula ORDER BY vista en el tema de consultas
simples.
Por ejemplo si definimos un
índice compuesto basado en las columnas (provincia, localidad), las filas que
se recuperen utilizando este índice aparecerán ordenadas por provincia y dentro
de la misma provincia por localidad
Índice
agrupado y no agrupado,
El
término índice agrupado no se debe confundir con índice
compuesto, el significado es totalmente diferente.
Un índice agrupado
(CLUSTERED) es un índice en el que el orden lógico de los valores de clave
determina el orden físico de las filas correspondientes de la tabla. El nivel
inferior, u hoja, de un índice agrupado contiene las filas de datos en sí de la
tabla. Una tabla o vista permite un solo índice agrupado al mismo tiempo.
Los
índices no agrupados existentes en las tablas se vuelven a
generar al crear un índice agrupado, por lo que es conveniente crear el índice
agrupado antes de crear los índices no agrupados.
Un índice no agrupado
especifica la ordenación lógica de la tabla. Con un índice no agrupado, el
orden físico de las filas de datos es independiente del orden indizado.
No hay comentarios.:
Publicar un comentario