1. Inicio
  2. Tecnología
  3. Índice de base de datos

Significado de Índice de base de datos

Sustantivo masculino compuesto. Del latín index, «indicador, señal», y base de datos.

Un índice de base de datos es una estructura auxiliar que ordena por adelantado los valores de una o varias columnas de una tabla, para localizar filas concretas sin recorrerla entera.

Es conceptualmente igual al índice alfabético de un libro: no contiene el texto completo, pero indica en qué página buscarlo sin leer todas las anteriores.

Qué es un índice de base de datos

Sin un índice, una base de datos que busca una fila concreta tiene que examinar la tabla entera, fila por fila, comparando cada una con la condición de búsqueda: un proceso que se vuelve lento cuanto más crece la tabla. Un índice resuelve ese problema construyendo, por adelantado, una estructura ordenada que permite saltar directamente a las filas que interesan, de forma parecida a como un índice alfabético evita leer un libro entero para encontrar un nombre.

Esa velocidad de lectura no es gratuita: el índice ocupa espacio de almacenamiento propio, y cada vez que se inserta, modifica o borra una fila de la tabla, el motor de la base de datos tiene que actualizar también el índice, lo que hace más lentas las operaciones de escritura. Por eso indexar cualquier columna sin criterio no siempre mejora el rendimiento: hay que elegir qué columnas se consultan con más frecuencia y equilibrar la ganancia en lectura frente al coste en escritura y espacio.

Lo diseñan y ajustan los administradores de bases de datos y los desarrolladores de aplicaciones que dependen de consultas rápidas sobre volúmenes de datos grandes.

Origen del término índice de base de datos

De índice, del latín index, «el que indica, el dedo que señala», y base de datos, calco del inglés database ya asentado en español desde la difusión de los sistemas de gestión de bases de datos.

La técnica de indexar apareció junto con los primeros sistemas de gestión de bases de datos, cuando quedó claro que recorrer tablas enteras para cada consulta no era viable a medida que crecía el volumen de información almacenada. El vocabulario y las estructuras concretas de indexación se fueron refinando a lo largo de las décadas siguientes, en paralelo al crecimiento de las bases de datos relacionales.

Tipos de índice de base de datos

TipoEn qué consiste
PrimarioSe construye sobre la columna que identifica cada fila de forma única.
SecundarioSe construye sobre una columna distinta a la clave principal, para acelerar búsquedas frecuentes por ese campo.
ÚnicoAdemás de acelerar la búsqueda, impide que se repita un mismo valor en la columna indexada.
CompuestoCombina varias columnas en un mismo índice, útil cuando las consultas filtran habitualmente por esas columnas juntas.

Ejemplos de uso de índice de base de datos

Crear un índice de base de datos sobre el correo electrónico redujo el tiempo de inicio de sesión de segundos a milisegundos.

El administrador eliminó un índice de base de datos que casi nunca se usaba, porque ralentizaba las inserciones sin aportar ninguna ventaja.

La consulta tardaba minutos hasta que se añadió un índice de base de datos sobre la columna de fecha.

El motor eligió automáticamente qué índice de base de datos usar según la condición de la consulta.

Con millones de registros, la tabla sin ningún índice de base de datos se volvió prácticamente inutilizable para búsquedas.

Sinónimos y palabras relacionadas

Sinónimos: índice, índice de tabla (en un sentido más restringido).

Antónimos: exploración completa de tabla, búsqueda secuencial.

No es lo mismo que:

Preguntas frecuentes sobre el índice de base de datos

¿Por qué no conviene indexar todas las columnas de una tabla?

Porque cada índice añadido ocupa espacio y hace más lentas las operaciones de inserción, modificación y borrado, ya que el motor debe actualizarlo cada vez. Conviene indexar solo las columnas que realmente se consultan con frecuencia.

¿Un índice de base de datos cambia el resultado de una consulta?

No. Un índice solo cambia la velocidad con la que se obtiene el resultado, nunca el resultado en sí: una consulta devuelve las mismas filas exista o no un índice adecuado.

¿Qué diferencia hay entre un índice primario y uno secundario?

El índice primario se construye sobre la columna que identifica de forma única cada fila; el secundario se crea sobre cualquier otra columna que interese consultar con frecuencia, y una tabla puede tener varios índices secundarios a la vez.

Ver también