Una possibilità è che visualizzi statistiche errate sulla dimensione della tabella.
MySQL 8.0 tenta di memorizzare nella cache le statistiche sulle tabelle, ma sembrano esserci alcuni bug nell'implementazione. A volte mostra le statistiche della tabella come NULL ea volte mostra i valori, ma non riesce ad aggiornarli quando modifichi i dati della tabella.
Vedi https://bugs.mysql.com/bug.php?id=83957 ad esempio, un bug che discute i problemi con questo comportamento di memorizzazione nella cache.
Puoi disabilitare la memorizzazione nella cache. Potrebbe causare query su INFORMATION_SCHEMA o SHOW TABLE STATUS un po' più lente, ma suppongo che non sia peggio che nelle versioni di MySQL precedenti alla 8.0.
SET GLOBAL information_schema_stats_expiry = 0;
Il valore intero è il numero di secondi in cui MySQL conserva le statistiche nella cache. Se esegui una query sulle statistiche della tabella, potresti vedere i vecchi valori dalla cache, fino a quando non scadono e MySQL li aggiorna leggendo dal motore di archiviazione.
Il valore predefinito per la scadenza della cache è 86400 o 24 ore. Mi sembra eccessivo.
Se pensi che Wordpress stia scrivendo al tavolo, allora potrebbe esserlo. È possibile abilitare il registro binario o il registro delle query per scoprirlo. Oppure osserva semplicemente SHOW PROCESSLIST
per qualche minuto.
Potresti avere un plugin per wordpress che aggiorna o inserisce frequentemente in una tabella. Puoi cercare l'ultimo update_time:
SELECT * FROM INFORMATION_SCHEMA.TABLES
ORDER BY UPDATE_TIME DESC LIMIT 3;
Guarda qui per scoprire quali tabelle sono state scritte più di recente.
Ci sono avvertenze per questa statistica UPDATE_TIME. Non è sempre sincronizzato con le query che hanno aggiornato la tabella, perché le scritture nei file tablespace sono asincrone. Leggi qui:https://dev.mysql. com/doc/refman/8.0/en/tables-table.html