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的字段增加一些以后,如图:
重新执行上述语句,又不走索引了
原因暂且不知
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构