捞一个mysql八股

在联合索引 (name, age) 上执行 name LIKE 'c%' AND age = 10,索引会如何使用?
全部评论
如果是5.6版本前,MySQL不支持ICP索引下推,这个会先过滤出name前缀为c的所有记录,然后回表得到完整行记录,再从Server层过滤age=10;如果支持ICP,那么存储引擎层会通过联合索引在过滤name的同时过滤age=10的数据再回表扫描
2 回复 分享
发布于 10-27 01:22 黑龙江
我觉得会在b+树上根据name去查找的第一个字符是c的范围,然后遍历下面的所有索引(不确定,等佬指正
点赞 回复 分享
发布于 10-26 22:08 北京
EXPLAIN看下呗
点赞 回复 分享
发布于 10-31 15:57 北京
之前一直以为联合索引是Union那个联合查找,后来才知道这个才是?😋
点赞 回复 分享
发布于 11-06 09:58 山东

相关推荐

差旅壹号 实习生 实习期220,转正10k 双非一本
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务