1.B+树索引特点
综合前面的文章介绍,b+树索引的最大的两个优点,一个是所有的数据存放在叶子节点上;另一个是叶子节点之间是都有指针,所以也支持顺序查询,笔记快。
B-Tree索引的限制:
例:创建的索引包含last_name,first_name,dob列
- 如果不是按照最左列开始查找,则无法使用索引。如无法使用索引查找名字为bill的的人,也无法查找某个特定生日的人。因为这两列都不是数据的最左数据。
- 不能跳过索引中的列,前面所述的索引无法用于查找姓为Smith并且在某个特定时间出生的人,如果不指定first_name(名),则Mysql只能使用索引的第一列。
- 如果查询中有某个列的范围查询,则其右边的所有列无法使用索引优化查找
索引的优点:
索引可以让服务器快速定位到表的指定位置,但这并不是索引的唯一作用。总结下来索引有三个优点:
1.大大的减少服务器需要扫描的数据量。
2.索引可以帮助服务器避免排序和临时表。
3.索引可以将随机I/O变为顺序IO.
索引的三星系统:
索引将相关的记录放到一起则获得一星;如果索引中的数据顺序和查找中的排列顺序一致则获得二星;如果索引中的列包含查询中需要的全部列则获得三星;