Mysqls fragment operation description: www.2cto.com every time MySQL deletes a row of content from your list, this section of space will be left blank. A large number of delete operations within a period of time will make this blank space more space than the storage list content. When MySQL scans data, the object it scans is actually the capacity limit of the list, that is, the part of the area where data is written in the peak position. If you perform a new insert operation, MySQL will try to use these blank areas, but it still cannot be completely occupied. Www.2cto.com mysql> select table_schema, table_name, data_free, engine from information_schema.tables where table_schema not in ('information _ scheme', 'mysql') and data_free> 0; + -------------- + bytes + ----------- + -------- + | table_schema | table_name | data_free | engine | + -------------- + bytes + ----------- + -------- + | BK | comments | 9437184 | InnoDB | BK | historypwd | 9437184 | InnoDB | ss | app_admin_log | 434 | MyISAM | ss | app_article | 4434 | MyISAM | ss | app_article_category | 43420 | MyISAM | ss | app_config | 3324 | MyISAM | ss | app_convert_key | 1132 | MyISAM | data_free is the part space clearing part: www.2cto.com optimize table ss. app_article; this method only supports the use of alter table in INNODB of MyIsam engine. name ENGINE = 'innodb'; backup is recommended before use