对于一个表如果经常插入
1、myisam存储引擎清理碎片方法
OPTIMIZE TABLE
2、inno
ALTER TABLE tablename ENGINE=InnoDB
3、查看表碎片的方法
+————+————+————-+————–+—————–+————+——–+
| ROW_FORMAT | TABLE_ROWS | DATA_LENGTH | INDEX_LENGTH | MAX_DATA_LENGTH | DATA_FREE | ENGINE |
+————+————+————-+————–+—————–+————+——–+
| Dynamic | 2250014 | 4042158980 | 2338186240 | 281474976710655 | 3901819476 | MyISAM |
+————+————+————-+————–+—————–+————+——–+
1 row in set (0.00 sec)
从上面的DATA_FREE字段可以看出碎片空间很大
Engine不同,OPTIMIZE 的操作也不一样的,MyISAM 因为索引和数据是分开的,所以 OPTIMIZE 可以整理数据文件,并重排索引.
OPTIMIZE 操作会暂时