博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

颠覆我认知的 select id,为什么?

Posted on 2022-11-29 23:04  菠萝  阅读(30)  评论(2编辑  收藏  举报

表z: id是主键自增,b列 单列做了索引,c为普通字段(其实换成其他任何带主键的表 也有该问题)

CREATE TABLE `z` (
`id` int NOT NULL AUTO_INCREMENT,
`b` int DEFAULT NULL,
`c` int NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `b` (`b`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3

 为了排除其他影响,表中就两条数据 如下:

 

 

 


sql1:select id from z where b=123

 

 

 


sql2:select c from z where b=123 或者 select b from z where b=123

 

 

请教:为什么 sql2的耗时总比 sql1耗时少。换了几个mysql服务器,和几个表 都是这个结果。颠覆认知了~~~