美文网首页
mysql 组合索引的理解

mysql 组合索引的理解

作者: Mr_dreamer | 来源:发表于2020-02-19 19:38 被阅读0次

mysql索引是占用磁盘空间的,索引越多对空间的占用也就越大,写开销也越大,而对于组合索引,如:index(col1,col2,col3) 相当于建立了3个索引,index(col1)``index(col1,col2)``index(col1,col2,col3) 这样一个索引达到了3个索引的作用,节省了磁盘空间,也降低了写开销。

而对于组合索引,需要重点关注的一点就是 最左原则
最左原则举个简单的例子就是

条键 是否走索引 说明
where col1=1 因为col1 在创建索引的最左边)
where col2=2 因为col2 不是最左边的列
where col1=1 and col2=2 因为 col1和col2是从左向右排列的

对于 where col2=2 这个条键是有可能走索引的 只不过是 index类型的索引。
组合索引 可以理解为 mysql 内部是从最左元素先排序,然后之后的元素在进行排序, 类似于 orderby col1,col2,col3 所以查找时 最左元素肯定是有序的,而跳过最左元素,又是无序的了。

遵循了最左原则,条件顺序就无所谓了,因为mysql优化器会自动找到最有效率的执行顺序

PS 我写的文章真是烂啊

参考文章:
https://segmentfault.com/a/1190000015416513
https://www.zhihu.com/question/36996520

相关文章

  • 查询优化

    MySql组合索引应该注意的细节 1. MySql 组合索引 MySQL组合索引具有...

  • mysql 组合索引的理解

    mysql索引是占用磁盘空间的,索引越多对空间的占用也就越大,写开销也越大,而对于组合索引,如:index(col...

  • MySQL索引的使用

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

  • mysql

    1.mysql索引的类型,主键索引、唯一索引、普通索引、组合索引、全文索引,b-tree索引 2.mysql具体有...

  • Mysql索引

    Mysql索引的建立对于Mysql的高效运行是很重要的,索引可以大大提高Mysql的检索速度索引分为单列索引和组合...

  • 索引

    分类 mysql的索引分为单列索引(主键索引,唯一索引,普通索引)和组合索引.单列索引:一个索引只包含一个列组合索...

  • 第23期:索引设计(组合索引不适用场景改造)

    上篇文章已经详细介绍 MySQL 组合索引的概念以及其适用场景,这篇主要介绍 MySQL 组合索引的不适用场景以及...

  • mysql唯一索引 覆盖索引

    当mysql唯一索引是组合索引时,如果查询条件满足组合索引的覆盖条件,同样将是覆盖索引。 测试:新建表t: 添加唯...

  • MySQL索引

    MySQL索引 索引介绍 索引原理与分析 组合索引 索引失效分析 索引介绍 什么是索引索引:包括聚集索引、覆盖索引...

  • mysql查询到底用了组合索引的哪些字段

    工作中,我们常常使用到mysql的组合索引,但怎样判断mysql查询时,使用了组合索引的那些字段呢?最近从我司DB...

网友评论

      本文标题:mysql 组合索引的理解

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