MySQL like 查询走索引问题

问题:

表如下:

 1 SET NAMES utf8mb4;
 2 SET FOREIGN_KEY_CHECKS = 0;
 3 
 4 -- ----------------------------
 5 -- Table structure for t
 6 -- ----------------------------
 7 DROP TABLE IF EXISTS `t`;
 8 CREATE TABLE `t` (
 9   `id` int NOT NULL AUTO_INCREMENT,
10   `name` varchar(255) DEFAULT NULL,
11   PRIMARY KEY (`id`),
12   UNIQUE KEY `index_name` (`name`)
13 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3;
14 
15 -- ----------------------------
16 -- Records of t
17 -- ----------------------------
18 BEGIN;
19 INSERT INTO `t` VALUES (1, 'bbb');
20 COMMIT;
21 
22 SET FOREIGN_KEY_CHECKS = 1;

 

 

使用查询语句:

1 explain select * from t where name like "%aa%"

结果如下,发现走了索引

 

 

 

但是当我将表t的字段增加一些以后,如图:

 

 

重新执行上述语句,又不走索引了

 

 

原因暂且不知

posted @ 2022-01-25 17:57  r1-12king  阅读(175)  评论(0编辑  收藏  举报