Las consultas de base de datos lentas son una de las causas más comunes de problemas de rendimiento de WordPress, especialmente el admin lento. Cada carga de página de WordPress puede desencadenar 50-200+ consultas de base de datos.
Causas más comunes que diagnosticamos:
Proceso sistemático, rápido y seguro:
En my.cnf/mysqld.cnf: establece slow_query_log=ON, long_query_time=1. Luego analiza con: mysqldumpslow -s t /var/log/mysql/slow.log | head -20
Ejecuta estos para los índices faltantes comunes: ALTER TABLE wp_postmeta ADD INDEX meta_value(meta_value(191));
Ejecuta: wp transient delete --all && wp post delete $(wp post list --post_status=auto-draft --format=ids) && wp db optimize
Nuestro experto WordPress responde en minutos.
El tamaño por sí solo no es el problema: la eficiencia de las consultas lo es. Una base de datos de 10GB bien indexada puede funcionar más rápido que una de 500MB mal indexada.
No: la limpieza de la base de datos elimina solo la sobrecarga técnica: revisiones de publicaciones antiguas, transients expirados, metadatos huérfanos.
Usamos Query Monitor (WordPress) o New Relic para desglosar el tiempo de petición por fase: ejecución PHP vs consultas DB vs HTTP/externo. Si las consultas representan >40% del tiempo de carga, la DB es el cuello de botella.
Una consulta lenta es una sola sentencia SQL ineficiente. Una DB lenta es global: muchas consultas son lentas por índices pobres, tablas sobredimensionadas, optimización faltante, o recursos de servidor insuficientes. Ambos necesitan fixes diferentes.
Habilita MySQL slow_query_log con long_query_time=1. Tras correr tráfico normal por 24 horas, el log muestra cada consulta sobre 1 segundo. Usamos mysqldumpslow para resumir los peores ofensores.
Masiva. Una consulta escaneando 100,000 filas sin índice toma 5+ segundos; con el índice correcto toma menos de 10ms. Identificamos índices faltantes vía EXPLAIN y los añadimos seguramente sin bloquear tablas.
wp_postmeta crece 5-20x más grande que wp_posts (ACF, Yoast, campos custom todos añaden filas). Sin índices compuestos en (post_id, meta_key), las consultas escanean millones de filas. Añadimos los índices que WordPress no incluye por defecto.
Sí — significativamente. Las entradas autoload de wp_options se cargan en memoria en cada petición WP. Si los datos autoload exceden 1MB (transients, sesiones expiradas), cada petición se vuelve 100-300ms más lenta.
Sí para cargas write-heavy (WooCommerce). InnoDB tiene bloqueo a nivel de fila vs bloqueo a nivel de tabla de MyISAM. Migramos tablas con `ALTER TABLE ... ENGINE=InnoDB` tras backups.
Sí. Una consulta sin LIMIT escaneando tablas enormes puede consumir todas las conexiones MySQL y memoria, bloqueando cada otra petición. Identificamos y arreglamos o removemos la consulta mala.
MySQL 8.x y MariaDB 10.5+ tienen mejoras significativas de rendimiento sobre versiones más viejas: mejor optimizador de consultas, hash joins, índices invisibles. Actualizar de MySQL 5.6 a 8.0 frecuentemente da 20-40% mejora de velocidad de consultas.
Reduce pero no reemplaza. Redis cachea resultados de consultas repetidas. Pero las consultas no cacheadas siguen golpeando la DB, así que la optimización sigue importando. Hacemos ambos: optimizar consultas Y añadir caché de objetos.
Fuentes comunes de crecimiento: post_revisions (configurar límite WP_POST_REVISIONS), transients expirados (limpieza WP_CRON), comentarios spam, tablas action_scheduler (WooCommerce), y datos de plugins de analítica. Limpiamos cada fuente.
La mayoría de operaciones: sí. CHECK TABLE y OPTIMIZE TABLE en tablas InnoDB corren online. ALTER TABLE para añadir índices es online en MySQL 5.6+. Reparaciones mayores pueden necesitar breves ventanas de mantenimiento.
Seis capas: 1) horario regular de OPTIMIZE TABLE, 2) automatización de limpieza de revisiones/transients, 3) monitoreo slow_query_log con alertas, 4) limitar opciones autoloaded, 5) auditoría periódica de plugins (remover ineficientes), 6) innodb_buffer_pool_size suficiente.
¿Tu sitio WordPress de repente lento? Diagnosticamos cuellos de botella y restauramos tu velocidad.
Respuesta en minutos. Sin pérdida de datos. Sin cargo por diagnóstico.
wpfix.blimx.com