问题: select * 和 select 指定字段的区别?

1、网络IO问题:

select * 会查出所有的字段,有些是不需要的,当应用程序和服务器不在同一个局域网时,字段过多会影响网络传输的性能。

 

2、索引问题:

在 指定字段有索引的情况下,mysql是可以不用读data,直接使用index里面的值就返回结果的。

但是一旦用了select *,就会有其他列需要从磁盘中读取才会返回结果,这样就造成了额外的性能开销

 

3、MybatisPlus指定查询字段:

bannerMapper.selectList(new QueryWrapper<BannerDO>().select("id","name"));