借此延伸下MYSQL中Myisam、InnoDB碎片优化方式:
Myisam清理碎片
OPTIMIZE TABLE table_name
InnoDB碎片优化
if you frequently delete...;
This is what MySQL does behind the scenes if you run ‘optimize table’ on an InnoDB table....简单的说,删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来.于是造成了数据的存储位置不连续,以及物理存储顺序与理论上的排序顺序不同,这种是数据碎片.实际上数据碎片分为两种...前者的意思就是一行数据,被分成N个片段,存储在N个位置.
后者的就是多行数据并未按照逻辑上的顺序排列....,这样肯定会对程序的运行效率造成很大影响.比较好的方式就是做个 Script,定期检查mysql中information_schema.TABLES字段,查看 DATA_FREE 字段,大于0话,就表示有碎片