《高性能MySQL》读书笔记-4-创建高性能索引1
若有人给你一盏灯,我给你月亮。
– 格巴尼《比较的爱》
索引是储存引擎用于快递找到记录的一种数据结构。数据量足够大时,索引可以极大的加快查询速度,反过来,数据量较小时,不恰当的索引可能会导致查询变慢。
1. 索引基础
索引使用方法:先在索引中找到对应的值,然后根据匹配的索引记录找到对应的数据行。索引可以包含一个或者多个列,列的顺序很重要,MySQL只能高效的使用索引的最左前缀列。
1.1 索引类型
MySQL索引是在存储引擎层实现的,不同的存储引擎索引的实现方式不一样,MySQL支持的索引类型:
B-Tree索引,哈希索引,空间数据索引,全文索引,其他
1.1.1 B-Tree索引
术语叫“B-Tree”,不过各个存储引擎可能用的是不同的结构,比如InnoDB用的B+Tree。同时,B-Tree通常意味着所有的值都是按顺序存储的,并且每个叶子页到根的距离相同。以下是InnoDB的索引抽象表示:
- 原文作者:阿林
- 原文链接:https://itachi.xyz/post/high-performance-mysql-4.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。