【每日阅读】2020年4月25日-MySQL索引原理及慢查询优化

链接

https://tech.meituan.com/2014/06/30/mysql-index.html

文章截图

简评

数据库索引使用了B+树,这种数据结构是很适合于存储在磁盘,且需要查询的数据的。MySQL使用B+树,一般维护的B+树高度是2-4,所以一次查询只需要2-4次就能将范围缩小到一个很小的范围内,大大提高了效率。同时,高度低对应着高扇出。

文中还提到了对联合索引的使用:联合索引是在多个字段上构建出一个索引,先按第一个字段排序,再按第二个字段排序,以此类推。所以查询时,如果查询条件内有索引的第一个字段,就会使用到这个联合索引,查询条件有索引第二个字段,就会更进一步继续使用这个索引,如果查询条件没有联合索引的第一个字段,就不会使用联合索引,这就是最左匹配原则。

并且为什么非叶子节点不存储数据?因为如果非叶子节点存储了数据,那非叶子节点存储的指针就会变少,那么,树的高度就需要增大。树的高度增大会造成IO次数的变多,所以说,B+树是为减少磁盘IO而生的!

原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/1519

(0)
geekgaogeekgao博主
上一篇 2020年4月24日
下一篇 2020年4月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

GitHub
分享本页
返回顶部

Warning: error_log(/usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/#log/log-2900.txt): failed to open stream: No such file or directory in /usr/local/lighthouse/softwares/wordpress/wp-content/plugins/spider-analyser/spider.class.php on line 2900