Índices
En MySQL, un índice es una estructura que mejora la velocidad de recuperación de filas de una tabla en función del valor de una o más columnas. Los índices permiten acelerar las consultas SELECT, pero pueden ralentizar las operaciones de inserción, actualización y eliminación, por lo que se deben utilizar con prudencia y de acuerdo con las necesidades específicas de la base de datos.
Crear un Índice:
Para crear un índice en MySQL, puedes utilizar la siguiente sintaxis:
-- Crear un índice simple en una columna
CREATE INDEX nombre_indice ON nombre_tabla (nombre_columna);
-- Crear un índice único (sin duplicados)
CREATE UNIQUE INDEX nombre_indice ON nombre_tabla (nombre_columna1, nombre_columna2);
Ejemplos de Uso:
-
Índice Simple:
CREATE INDEX idx_nombre ON empleados (nombre);
Este índice acelerará las consultas que buscan empleados por su nombre.
-
Índice Compuesto:
CREATE INDEX idx_apellido_nombre ON empleados (apellido, nombre);
Este índice compuesto acelerará las consultas que involucran búsquedas por apellido y nombre.
-
Índice Único:
CREATE UNIQUE INDEX idx_email_unico ON clientes (email);
Este índice asegura que no puede haber dos clientes con el mismo correo electrónico.
Manejo de Índices:
-
Eliminar un Índice:
DROP INDEX nombre_indice ON nombre_tabla;
-
Ver Índices de una Tabla:
SHOW INDEX FROM nombre_tabla;
-
Optimizar Tabla (Reconstruir Índices):
OPTIMIZE TABLE nombre_tabla;
Recuerda que la creación de índices debe basarse en el tipo de consultas que realizas con mayor frecuencia en tu base de datos. Un uso adecuado de los índices puede mejorar significativamente el rendimiento de las consultas, pero es importante equilibrar esto con el impacto en las operaciones de escritura.