Loading

维护索引和表

使用 show index from 查看索引基数

存储引擎估算索引列有多少个不同的取值,选择合适的索引

减少索引和数据的碎片

行碎片(Row Fragmentation)

数据被存储在多个地方的多个片段中,就算查询只从索引中访问行记录,行碎片也会导致性能下降

行间碎片(Intra-row Fragmentation)

逻辑上顺序的页,在磁盘上不是顺序存储,对全表扫描和聚簇索引扫描操作有很大影响

剩余空间碎片(Free Space Fragmentation)

数据页有大量的空余空间,导致服务器读取大量不需要的数据,从而造成浪费

InnoDB不会出现短小的行碎片,InnoDB会移动短小的行重写到一个片段中

通过执行 optimize table或者导出导入方式重新整理数据

对于开启了 expand_fast_index_creation 参数的Percona Server,重建表会同时消除表和索引的碎片化

对于标准MySQL只会消除表的碎片化,通过删除所有索引重建表可以消除索引的碎片化

posted @ 2021-11-23 15:15  BigBender  阅读(25)  评论(0编辑  收藏  举报