联合索引最左匹配原则
来源:3-9 索引额外问题之最左匹配原则的成因
qq_Loveyoulovef_0
2019-01-27
按照课程中关于最左匹配原则的说明建立了一张表,DDL如下:
CREATE TABLE user_info_large
(id
int(11) NOT NULL AUTO_INCREMENT,a
varchar(32) NOT NULL,b
varchar(32) NOT NULL,c
varchar(32) NOT NULL,d
varchar(32) NOT NULL,
PRIMARY KEY (id
),
KEY indx_keys
(a
,b
,c
)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
执行 explain select * from user_info_large where a=‘aa1’ and b like ‘%bb%’ and c=‘cc1’ 结果如下:
貌似和教程中对于最左匹配原则遇到范围查询就停止匹配的原则不一致啊,是我哪儿理解的有问题?
写回答
1回答
-
翔仔
2019-01-28
同学好,最左匹配原则,视频里指的是比如说设置(a,b,c,d)联合索引 如果 where a=1 and b=2 and c >3 and d=4 则不会走,即便where a=1 and b=2 and d=4 and c >3也不会走,跟字段顺序无关,如果你是where a=1 and b=2 and c =3 and d>4 或者 where a=1 and b=2 and d=4 and c >3 也还是会走
032019-06-12
相似问题