optimize table在优化mysql时很重要
Posted 九人稚。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了optimize table在优化mysql时很重要相关的知识,希望对你有一定的参考价值。
一个表的数据量有1000W条,那么查看这么表占据的硬盘空间时会发现,数据本身是300M,索引是200M
这个时候,删除掉500W条数据,这个时候数据本身150M,而索引还是200M左右
你删除数据时,mysql并不会回收,被已删除数据的占据的存储空间,以及索引位。
而是空在那里,而是等待新的数据来弥补这个空缺,这样就有一个缺少,如果一时半会,没有数据来填补这个空缺,那这样就太浪费资源了。
所以对于写比较频烦的表,要定期进行optimize,一个月一次,看实际情况而定了。
optimize table xxxxxx;
OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。
注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表。
以上是关于optimize table在优化mysql时很重要的主要内容,如果未能解决你的问题,请参考以下文章
mysql explain中的 “Select tables optimized away”
MySQL 派生表(Derived Table) Merge Optimization