为什么不要用select *

2 篇文章 0 订阅

很可能这会是一个面试题

主要从以下几个角度:
1. 程序变更问题,出现不可以预知隐患;
假设某一天修改了表结构,如果用select *,返回的数据必然会会变化,客户端是否对数据库变化作适配,是否所有地方都做了适配,这都是问题。

2. 性能问题
a. 使用了select ,必然导致数据库需要先解析代表哪写字段,从数据字段中将*转化为具体的字段含义,存在性能开销;
b. 不可能对所有字段建索引,在索引优化必然会有局限性,导致查询时性能差;
c. 可能会存在不需要的列,传输过程中有不必要的性能损耗;
d. 客户端解析查询结果也需要更多损耗;

所以select *不存在对应用实际的任何好处,不但影响性能,而且应用变更中都是坑。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值