1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Optimizar las consultas MySQL
Esta guía está diseñada para ayudarle a aligerar y optimizar sus bases de datos en Infomaniak.
Prólogo
- El número y el tamaño de las bases de datos son ilimitados.
- Sin embargo, es crucial optimizar sus tablas (a través de índices) para evitar sobrecargar el servidor y garantizar una visualización rápida de su sitio, especialmente cuando el volumen de datos aumenta.
Optimizar las consultas
Los índices son esenciales para el rendimiento: funcionan como el índice de un libro, permitiendo a MySQL/MariaDB encontrar una información sin leer todas las páginas. Sin índices, el servidor debe realizar un "escaneo completo" de la tabla, lo cual es muy costoso en recursos.
Un índice es particularmente eficaz en las columnas utilizadas para filtrar los resultados (cláusula WHERE), para realizar uniones entre tablas (JOIN) o para ordenar los datos (ORDER BY).
Analizar con EXPLAIN
Antes de agregar un índice, debe identificar la consulta lenta. El comando EXPLAIN (también disponible a través de la interfaz de phpMyAdmin) permite simular la consulta.
Observe la columna "rows" (número de filas analizadas) y la columna "key" (clave utilizada). Si "rows" es alto y "key" está vacío (NULL), se recomienda encarecidamente crear un índice.
Agregar índices
Para agregar un índice, puede usar la pestaña "Estructura" de phpMyAdmin o el siguiente comando SQL:
ALTER TABLE nom_de_table ADD INDEX nom_index (colonne_cible);Nota: Solo indexe las columnas necesarias. Demasiados índices pueden ralentizar la adición o modificación de datos (INSERT/UPDATE).
Más información / Referencias
Documentación MySQL 8.0: Optimización e índices
Documentación MySQL 8.0: Comprender EXPLAIN