Qué son las consultas lentas
Las consultas lentas son peticiones a la base de datos de tu WordPress que tardan más de lo normal en completarse, y cuando se repiten en cada visita, ralentizan toda la web o la tienda. También se conocen como «slow queries».
Es como un empleado de almacén al que, para encontrar un solo producto, le hace falta revisar caja por caja todo el almacén entero en lugar de ir directo a la estantería correcta: tarda mucho más de lo necesario, y si tiene que repetir esa búsqueda cien veces al día, el retraso se multiplica. Una consulta a la base de datos es una pregunta que WordPress le hace para obtener un dato (qué productos hay, cuál es el stock, qué pedidos existen); cuando esa pregunta está mal planteada o la base de datos no tiene bien organizada la información para responderla rápido, tarda bastante más de lo que debería, y si se repite en cada visita, el efecto se nota en toda la web.
Cómo funciona
- WordPress o un plugin necesita un dato guardado en la base de datos, y lanza una consulta para obtenerlo.
- La base de datos busca ese dato siguiendo las instrucciones de la consulta.
- Si la consulta está mal construida, o si falta una estructura que ayude a encontrar el dato rápido, la búsqueda tarda mucho más de lo normal.
- Mientras esa consulta no termina, la página no puede seguir generándose, así que el visitante espera.
- Si esa misma consulta lenta se repite en cada visita o en cada página, el retraso se multiplica por cada persona que entra a la web.
Ejemplo
Una tienda online de aceite de oliva en Jaén, con un catálogo amplio de variedades y formatos, tenía un filtro de búsqueda por características del producto que lanzaba una consulta muy poco eficiente a la base de datos cada vez que alguien lo usaba, tardando varios segundos en cada búsqueda. Reescribimos esa consulta de forma más eficiente y añadimos una estructura en la base de datos que ayudaba a encontrar los resultados mucho más rápido, y el filtro pasó de tardar varios segundos a responder casi al instante.
Señales de que te afecta
- Ciertas partes concretas de tu web (un filtro, una búsqueda, un listado) van mucho más lentas que el resto.
- Un análisis técnico detecta consultas que tardan varios segundos en completarse.
- Tu hosting te avisa de un consumo elevado de la base de datos.
- El problema se nota más cuanto más crece tu catálogo de productos o tu volumen de pedidos.
Cómo lo resolvemos
Identificamos qué consultas concretas están tardando más de lo normal, revisamos si el problema está en cómo están escritas o en la falta de una estructura adecuada en la base de datos, y lo corregimos sin tocar el funcionamiento que ya conoces. Si quieres que revisemos la base de datos de tu tienda, en nuestro servicio de optimización WooCommerce nos encargamos de localizarlas y corregirlas. Las consultas lentas suelen mejorar mucho al combinarlas con una buena caché de objetos, y conviene revisar también si hay un autoload sobrecargado en la misma base de datos.
Preguntas frecuentes
¿Las consultas lentas son culpa de mi hosting o de mi web?
Normalmente son culpa de cómo está escrita la consulta o de cómo está organizada la base de datos, no del hosting en sí; un hosting mejor puede disimular el problema, pero no lo corrige de raíz.
¿Cómo sé si mi web tiene consultas lentas?
Hace falta una herramienta de análisis técnico que registre el tiempo que tarda cada consulta; no es algo que se note siempre a simple vista, sobre todo si el servidor es potente y disimula parte del retraso.
¿Más plugins significa más consultas lentas?
No necesariamente más lentas, pero sí más consultas en total: cuantos más plugins activos, más peticiones distintas se lanzan a la base de datos en cada visita, y basta con que una esté mal construida para notar el retraso.