美文网首页
mysql 重复索引、冗余索引和索引碎片修复

mysql 重复索引、冗余索引和索引碎片修复

作者: 尹楷楷 | 来源:发表于2020-05-12 23:52 被阅读0次

重复索引和冗余索引

重复索引:在同一个列建立的多个单值索引,或者在顺序相同的多个列上建立了多个复合索引。这种重复索引没有任何帮助只会增大索引文件,拖慢更新速度,需要去掉!

冗余索引:
2个索引说覆盖的列有重叠。
比如 index x(x)和index xm(x,m)。这连两个索引的x列重叠了,这种情况称为冗余索引。
甚至有 xm(x,m) 和 mx(m,x) ,这两和复合索引的索引顺序不同,也是看做冗余索引的。像在这种情况在特定业务下也有它的用处!

索引碎片修复

在长期的数据更改过程中,索引文件和数据文件,都将产生空洞,形成碎片(页分裂页移动)。时间一久时间会查询效率会变慢。

若表的引擎是innodb,可以使用

ALTER TABLE tb_box ENGINE INNODB

可以使用

OPTIMIZE TABLE tb_box;

注意:
修复表的数据和索引碎片,就会把所有的数据文件重新整理一遍,使之对齐。这个过程如果表的行数比较大,也是非常耗费资源的操作。所以不能频繁修复。

若表的update操作很频繁,可以按 周/月来修复。若update的不多,可以更长周期来做修复

相关文章

  • mysql 重复索引、冗余索引和索引碎片修复

    重复索引和冗余索引 重复索引:在同一个列建立的多个单值索引,或者在顺序相同的多个列上建立了多个复合索引。这种重复索...

  • 6.数据库优化策略

    参考:阿里巴巴java开发手册 1. 索引 冗余和重复索引:冗余索引:(A),(A,B)重复索引:已经有索引,再...

  • 高性能的索引策略

    MySQL查询基础-查询执行过程 MySQL聚簇索引 MySQL覆盖索引 MySQL索引扫描排序 MySQL冗余和...

  • 「Mysql索引原理(十)」冗余和重复索引

    MySQL允许在相同列上创建多个索引,无论是有意的还是无意的。MySQL需要单独维护重复的索引,并且优化器在...

  • 七、重复索引和冗余索引

    重复索引 指同一个列或者顺序相同的几个列(age,school),建立了多个索引, 重复索引没有任何帮助只会增大索...

  • 5.3.9 冗余索引和重复索引

    mysql中允许创建多个相同的索引,在创建后msyql需要单独维护这些索引,而且在查询的时候优化器也需要逐个的去考...

  • mysql性能优化—重复索引与冗余索引

    重复索引 是指在同一个列或者顺序相同的几个列建立了多个索引,称之为重复索引。比如在文章表中,给主键(primary...

  • MySQL索引简介

    索引的分类 1. 普通索引和唯一索引 普通索引是mysql 中的基本索引类型,允许在自定义索引的列中插入重复值和空...

  • MySQL索引的使用

    MySQL索引 MySQL索引可以快速提高MySQL的检索速度。索引分单列索引和组合索引单列索引:即一个索引只包含...

  • MySQL索引及查询优化书目录

    MySQL索引的原理之索引目的 MySQL索引的原理之索引原理 MySQL索引的原理之索引的类型 MySQL索引的...

网友评论

      本文标题:mysql 重复索引、冗余索引和索引碎片修复

      本文链接:https://www.haomeiwen.com/subject/snmwnhtx.html