mysql组合索引abc,where条件里索引列无论怎么排序都走全部索引,咋回事...

CREATE TABLE test (
  id INT (11) NOT NULL AUTO_INCREMENT,
  a VARCHAR (128) DEFAULT NULL,
  b VARCHAR (128) DEFAULT NULL,
  c VARCHAR (128) DEFAULT NULL,
  PRIMARY KEY (id),
  KEY `index` (a, b, c)
) ENGINE = INNODB DEFAULT CHARSET = utf8 ;

INSERT INTO test(a,b,c) VALUES('qw','d','ddd'),(2,'rr','a');
 
 
 EXPLAIN SELECT * FROM test WHERE  a=1;-- key_len 1161
 
 EXPLAIN SELECT * FROM test WHERE  a=1 AND b >10;-- key_len 1161
 
 EXPLAIN SELECT * FROM test WHERE  a=1 AND b>10 AND c = 'ddd';-- key_len 1161
 EXPLAIN SELECT * FROM test WHERE  a=1  AND c = 'ddd' AND b>10;-- key_len 1161

数据库版本:5.6.51

你是创建了一个索引,还是多个索引呢,一个索引就正常的。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632