sql >> Base de Datos >  >> RDS >> Mysql

Fragmentación de tablas de Wordpress y MySQL

Una posibilidad es que esté viendo estadísticas incorrectas sobre el tamaño de la tabla.

MySQL 8.0 intenta almacenar en caché las estadísticas sobre las tablas, pero parece que hay algunos errores en la implementación. A veces, muestra las estadísticas de la tabla como NULL y, a veces, muestra los valores, pero no los actualiza a medida que modifica los datos de la tabla.

Consulte https://bugs.mysql.com/bug.php?id=83957 por ejemplo, un error que analiza los problemas con este comportamiento de almacenamiento en caché.

Puede deshabilitar el almacenamiento en caché. Puede hacer que las consultas en el INFORMACION_ESQUEMA o MOSTRAR ESTADO DE LA TABLA sean un poco más lentas, pero supongo que no es peor que en las versiones de MySQL anteriores a la 8.0.

SET GLOBAL information_schema_stats_expiry = 0;

El valor entero es el número de segundos que MySQL mantiene las estadísticas en caché. Si consulta las estadísticas de la tabla, es posible que vea valores antiguos del caché, hasta que caduquen y MySQL los actualice al leerlos del motor de almacenamiento.

El valor predeterminado para la caducidad de la memoria caché es 86400 o 24 horas. Eso parece excesivo.

Consulte https://dev.mysql. com/doc/refman/8.0/en/server-system-variables.html#sysvar_information_schema_stats_expiry

Si cree que Wordpress está escribiendo en la mesa, entonces podría serlo. Puede habilitar el registro binario o el registro de consultas para averiguarlo. O simplemente observe SHOW PROCESSLIST durante unos minutos.

Es posible que tenga un complemento de wordpress que se actualice o inserte en una tabla con frecuencia. Puede buscar el último update_time:

SELECT * FROM INFORMATION_SCHEMA.TABLES
ORDER BY UPDATE_TIME DESC LIMIT 3;

Mire esto para averiguar en qué tablas se escribieron más recientemente.

Hay advertencias para esta estadística UPDATE_TIME. No siempre está sincronizado con las consultas que actualizaron la tabla, porque las escrituras en los archivos del espacio de tablas son asincrónicas. Lea sobre esto aquí:https://dev.mysql. com/doc/refman/8.0/en/tables-table.html