Mi pregunta es puramente sobre mysql. Tengo una aplicación de wordpress. La base de datos de mi aplicación tiene una tabla llamada wp_options que crece muy rápido. Esta es una tabla InnoDB. El tamaño de mi tabla aumentó a 800 GB, mientras que mysqldump of table era inferior a 1 GB. Esto me hizo sospechar que la tabla está fragmentada debido a las frecuentes eliminaciones y actualizaciones. Cuando ejecuté "optimizar tabla", redujo el tamaño de la tabla a 1 GB, por lo que mi análisis también parecía ser correcto.
Mi problema es con la información de la tabla. La información de la tabla mostró que la 'longitud de los datos' era de 800 GB y la de 'datos libres' era de solo 5 MB. Según la información de la tabla mysql, no hubo fragmentación. El resultado de la siguiente consulta también fue similar:
select ENGINE, TABLE_NAME,Round( DATA_LENGTH/1024/1024) as data_length , round(INDEX_LENGTH/1024/1024) as index_length, round(DATA_FREE/ 1024/1024) as data_free from information_schema.tables where DATA_FREE > 0 and TABLE_NAME='wp_options';MOTOR, NOMBRE_TABLA, longitud_datos, longitud_índice, datos_libres 'InnoDB', 'wp_options','812128','2','5'
¿Significa que la información de la tabla es engañosa e incorrecta aquí? En caso afirmativo, ¿cómo se sabe realmente si la tabla está fragmentada?