10bet网址
MySQL 5.7参考手册
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 36.4 mb
PDF (A4)- 36.4 mb
手册页(TGZ)- 237.7 kb
手册页(邮政编码)- 349.4 kb
信息(Gzip)- 3.4 mb
信息(邮政编码)- 3.4 mb
本手册摘录

14.12.4整理一个表

随机插入或删除从一个二级索引可以导致指数变得支离破碎。分裂意味着物理磁盘上的索引页的顺序不是接近指数排序的记录页面,或者有许多未使用的页的64页的块分配给该指数。

分裂的一个症状是一个表需要更多的空间应该接受。究竟有多少,是很难确定的。所有InnoDB数据和索引存储在b树,他们的填充因数可能从50%到100%不等。分裂的另一个症状是这样的表扫描比花更多的时间应该花:

SELECT COUNT(*)从tnon_indexed_column< > 12345;

前面的查询需要MySQL执行全表扫描,大桌子最慢的查询类型。

加快索引扫描,可以定期执行ALTER TABLE操作,这将导致MySQL重建表:

ALTER TABLEtbl_name引擎= INNODB

您还可以使用ALTER TABLEtbl_name执行重建表的alter操作。

这两个ALTER TABLEtbl_name引擎= INNODBALTER TABLEtbl_name使用在线DDL。有关更多信息,请参见14.13节,“InnoDB和在线DDL”

执行碎片整理操作的另一种方法是使用,mysqldump表转储到一个文本文件,删除表,从转储文件并重新加载它。

如果插入到一个索引总是提升和记录删除只从最后,InnoDB文件空间管理算法保证碎片索引中不发生。