于分区表,MySQL不支持命令CHECK TABLE,OPTIMIZE TABLE,ANALYZE TABLE,或REPAIR TABLE。那么当一个分区表经过多次改变或分区中删除了大量的行留下很多碎片时怎么解决呢?msyql 有个代替方案,ALTER TABLE ... OPTIMIZE PARTITION。
ALTER TABLE t1 OPTIMIZE PARTITION p;
在一个给定的分区表上使用“OPTIMIZE PARTITION”等同于在那个分区上运行CHECK PARTITION,ANALYZE PARTITION,和REPAIR PARTITION。