Sobes.tech
Junior — Middle

¿Cuál es el papel de los índices en una base de datos SQL y cómo afectan al rendimiento de las consultas?

sobes.tech AI

Respuesta de la IA

Los índices en bases de datos SQL son estructuras de datos especiales que aceleran la búsqueda y recuperación de datos de las tablas. Funcionan como punteros a las filas de la tabla, permitiendo que el sistema de gestión de bases de datos (SGBD) encuentre rápidamente los registros necesarios sin escanear toda la tabla.

Rol de los índices:

  • Aceleran las operaciones SELECT, especialmente con condiciones WHERE, JOIN, ORDER BY.
  • Pueden usarse para garantizar la unicidad de los valores (índices únicos).
  • Ayudan al optimizador de consultas a seleccionar planes de ejecución eficientes.

Impacto en el rendimiento:

  • Positivo: reducen significativamente el tiempo de ejecución de consultas con filtrado en columnas indexadas.
  • Negativo: ralentizan las operaciones INSERT, UPDATE, DELETE, ya que los índices deben actualizarse.

Ejemplo: si tienes una tabla de usuarios con millones de registros, buscar un usuario por email sin índice será lento, pero con índice será rápido.

CREATE INDEX idx_users_email ON users(email);

SELECT * FROM users WHERE email = 'example@example.com';

El índice permitirá a la base de datos encontrar rápidamente la fila necesaria sin recorrer toda la tabla.