为什么说select * 效率低

为什么说select * 效率低

一、效率低的原因

增加查询分析器解析成本
增减字段容易与resultMap配置不一致
无用字段增加消耗,尤其是text类型的字段

1.不需要的列会增加数据传输时间和网络开销

1.用"select * "数据库需要解析更多的对象,字段,权限,属性等相关内容,在SQL语句复杂,硬解析较多的情况下,会对数据库造成沉重的负担.
2.增大网络开销;*有时候会误带上入log,iconMD5之类的无用大文本字段,数据传输sizeui几何增涨,如果DB和应用程序不在同一太机器上,使用的协议还是tcp,通信也是需要额外的时间.

2.对于无用的大字段,如varchar,bolb,text,会增加io操作

准确来说,长度超过728字节的时候,会先把超出的数据序列化到另一个地方,因此读取这条记录会增加一次io操作.

3.失去MYSQL优化器"覆盖索引"策略优化的可能性

select * 杜绝了覆盖索引的可能性,而基于mysql优化器的"覆盖索引"策略又是速度极快,效率极高,业界极为推荐的查询优化方式.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值