想问一下,有一张表a,任何索引都没有,只有主键和其他字段。
当我查询select * from a时,这时候explain查看自然是走了ALL的全表查询。
当我查询select id from a时,这时候explain查看却是走了主键索引而不是全表查询。
我理解主键索引作为B+树的结构,非叶子节点只存储了一个范围,比如id5以下的指向一个数据页,id10以下的指向另一个数据页,即便我查询的只有id列,也不应该存在所谓覆盖索引的情况,也应该查询所有数据页才能获取到每一条数据的id。
请问一下老师,是我理解上哪里出问题了么,为什么实际情况当只查询id列的时候,不需要走全表搜索,只在非叶子节点就能完成这个查询呢?