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的字段增加一些以后,如图:
重新执行上述语句,又不走索引了
原因暂且不知