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.