首页 > 数据库技术 > 详细

mysql索引

时间:2020-04-05 15:27:57      阅读:68      评论:0      收藏:0      [点我收藏+]

innoDB B+树的存储结构结构  决定了B-Tree索引支持一下查询类型:

key(last_name,firset_name,job)

1.全值匹配

和索引中的所有列进行匹配:查找姓l 名cc 职业工程师的人

2.匹配最左列

可查找所有姓为l的人,即用索引的第一列

3.匹配列前缀

查找所有以J开头的姓的人。这里也只使用了索引的第一列

4.匹配范围值

查找姓名在Allen和Barrymore之间的人。这里只使用了索引的第一列

5.精确匹配某一列并范围匹配另一列

第一列last_name精确匹配,第二列firt_name范围匹配

6.只访问索引的查询

即查询只需访问索引,而无需访问数据行

 

因为索引树中的节点是有序的,所以出了按值查找之外,索引还可以用于查询中的order by操作,一般来说如果b—Tree可以按照某种方式查找到值,那么也可以按照这种方式用于排序,所以,如果order by子句满足前面列出的几种查询类型。则这个索引也可以满足对应的排序需求

 

 

限制:

1.如果不是按照索引的最左列开始查找,则无法使用索引

2.不能跳过索引中的列

3.如果查询中有某个列的范围查询,则其右边所有列都无法使用索引优化查找

 

mysql索引

原文:https://www.cnblogs.com/lccsblog/p/12637382.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!