Gestión de grandes tablas: wp_actionscheduler_actions y wp_actionscheduler_logs

La optimización del rendimiento de tu tienda WooCommerce o un sitio web con plugins como RankMath o AAWP puede pasar por la administración y limpieza de las tablas en tu base de datos. En particular, las tablas wp_actionscheduler_actions y wp_actionscheduler_logs pueden aumentar significativamente en tamaño debido al registro de acciones y logs.

Una Mirada a Las Tablas en Cuestión

WooCommerce o Rank Math, junto con varios plugins relacionados, puede programar acciones, ya sean únicas o repetitivas, para ser ejecutadas en segundo plano. Estas acciones, y sus logs correspondientes, quedan registradas en las tablas mencionadas. Para visualizar un resumen de estas acciones, puedes ir a WooCommerce > Estado > Acciones Programadas en el backend de tu WordPress.

Aunque es posible eliminar acciones pendientes desde esta ubicación, la eliminación directa a través de consultas SQL en la base de datos es más eficiente, especialmente si hay una gran cantidad de registros.

Identificando Tablas Grandes

Desde PHPMyAdmin, disponible en la mayoría de los paneles de control de alojamiento web con panel Plesk o Cpanel, puedes observar todas las tablas de la base de datos de tu sitio WordPress y organizarlas por tamaño. Aunque es tentador usar la función «vaciar» de PHPMyAdmin, es importante ser cauteloso, especialmente con la tabla de acciones, ya que puede contener acciones pendientes esenciales.

Limpiando las Tablas

Aquí hay un enfoque para limpiar estas tablas usando consultas SQL, recordando cambiar «wp_» si el prefijo de tu base de datos es otro:

SET SQL_MODE='ALLOW_INVALID_DATES';
CREATE TEMPORARY TABLE tmp_data_table SELECT * FROM wp_actionscheduler_actions where `status` = 'pending';
TRUNCATE TABLE wp_actionscheduler_actions;
INSERT wp_actionscheduler_actions SELECT * FROM tmp_data_table;
DROP TABLE tmp_data_table;
TRUNCATE TABLE wp_actionscheduler_logs;

En esta secuencia SQL hace lo siguiente:

  1. Se habilita el trabajo con fechas no válidas.
  2. Se almacenan acciones pendientes en una tabla temporal.
  3. Se vacía la tabla principal de acciones.
  4. Las acciones pendientes se restauran desde la tabla temporal.
  5. Finalmente, la tabla de logs se vacía completamente.

Si bien se puede usar el comando SQL DELETE para lograr algo similar, truncar las tablas es a menudo más rápido y evita problemas potenciales en algunos servidores.

Ajustando la Frecuencia de Limpieza

Por defecto, WooCommerce, Rank Math, Amazon WordPress Plugin o Wp-Automatic, limpian estas tablas cada 30 días. Sin embargo, puedes modificar este intervalo para que la limpieza se realice semanalmente añadiendo el siguiente código en el archivo functions.php de tu tema hijo:

add_filter( 'action_scheduler_retention_period', function(){ return WEEK_IN_SECONDS; } );

o también puedes usar este otro código para el funtions.php

add_filter( ‘action_scheduler_retention_period’, ‘wpb_action_scheduler_purge’ );
/**
Change Action Scheduler default purge to 1 week
*/
function wpb_action_scheduler_purge() {
return WEEK_IN_SECONDS;
}

En Resumen

La administración efectiva de las tablas de base de datos es esencial para mantener tu tienda online WooCommerce o web con RankMath o Wp-automatic mucho más ágil y eficiente. Como hemos explorado, no solo es posible identificar tablas que se han vuelto demasiado grandes, sino que también hay métodos para limpiarlas de manera efectiva.

Suscríbete a la newsletter





Últimos artículos

Scroll al inicio