美文网首页
5.3.9 冗余索引和重复索引

5.3.9 冗余索引和重复索引

作者: 愤愤的有痣青年 | 来源:发表于2019-09-29 08:25 被阅读0次

    mysql中允许创建多个相同的索引,在创建后msyql需要单独维护这些索引,而且在查询的时候优化器也需要逐个的去考虑这些索引,因此这会降低性能.在mysql中索引一般有重复索引和冗余索引两种.

    重复索引

    重复索引是指多个完全相同的索引,经常在无意中会创建这样的索引,例如同时给一个主键创建索引和设置为unique,由于主键本身就是唯一索引,然后unique的实现方式也是通过索引来实现的,因此在这种情况下就产生了三个索引,这是没有必要的,因此对于重复索引可以找出来删除掉

    冗余索引

    冗余索引是指多个具有包含关系的索引,例如索引(A,B)和(A)
    但索引冗余并非完全都是坏处,在某些情况下其能提升性能,例如现在有索引key(A),这时需要增加一个索引字段B,B是一个很长的字段,这个时候如果直接在原索引上增加字段B,那么对于原来的仅使用了A的索引查询速度就会变慢.在这种情况同时存在(A)和(A,B)索引对查询性能可能更好,但是对于更新插入操作性能会变得更差,因此需要在这两方面权衡.

    相关文章

      网友评论

          本文标题:5.3.9 冗余索引和重复索引

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