Para facilitar la obtención de información de una tabla se utilizan índices.
El indice de una tabla desempeña la misma función que el índice de un libro: permite encontrar datos rápidamente; en el caso de las tablas, localiza registros.
Una tabla se indexa por un campo (o varios).
El índice es un tipo de archivo con 2 entradas: un dato (un valor de algún campo de la tabla) y un puntero.
Un índice posibilita el acceso directo y rápido haciendo más eficiente las búsquedas. Sin índice, se debe recorrer secuencialmente toda la tabla para encontrar un registro.
El objetivo de un indice es acelerar la recuperación de información, es decir tiene sentido en tablas con muchos registros.
La desventaja es que consume espacio en el disco y las inserciones y borrados de registros son más lentas.
La indexación es una técnica que optimiza el acceso a los datos, mejora el rendimiento acelerando las consultas y otras operaciones. Es útil cuando la tabla contiene miles de registros.
Los índices se usan para varias operaciones:
- para buscar registros rápidamente.
- para recuperar registros de otras tablas empleando "join".
Es importante identificar el o los campos por los que sería útil crear un indice, aquellos campos por los cuales se realizan operaciones de búsqueda con frecuencia.
Hay distintos tipos de índices, a saber:
1) "primary key": es el que definimos como clave primaria. Los valores indexados deben ser únicos. Una tabla solamente puede tener una clave primaria.
2) "index": crea un indice común, los valores no necesariamente son únicos y aceptan valores "null". "key" es sinónimo de "index". Puede haber varios por tabla.
3) "unique": crea un indice para los cuales los valores deben ser únicos y diferentes, aparece un mensaje de error si intentamos agregar un registro con un valor ya existente. Permite valores nulos y pueden definirse varios por tabla.
Todos los índices pueden ser multicolumna, es decir, pueden estar formados por más de 1 campo.
En las siguientes lecciones aprenderemos sobre cada uno de ellos.
Los nombres de índices aceptan todos los caracteres.
Una tabla puede ser indexada por campos de tipo numérico o de tipo caracter. También se puede indexar por un campo que contenga valores NULL, excepto los PRIMARY.