在Go中的 select * 和select字段的区别

6 篇文章 0 订阅
2 篇文章 0 订阅

这个问题存在很多争议,不管是有经验的还是初学者,都会有各自的见解,主要还是以业务区分为主。

一下是个人看法:

在工作中尽量不使用select * ,原因有很多大致可以理解为一下几点:

1.使用规范

2. 在字段过多的情况下,会导致资源浪费。

3. select * 在 innodb 引擎上必然会回表查询,也会造成 io 的压力,后者是情况而定,如果查询的索引字段,不需要会表,可以提升查询效率和降低 io 压力,在 myisam 引擎上则只有 io 压力的区别。

一下情况可以使用 select *

1.对于做 ORM 结构,通用代码实例化一般为字段全部取出,这时 select*在维护性上会稍好一些

2.使用Redis缓存,也是建议select *

3.在Go中,会生成对应的model,包括对应字段类型、注释等。生成基础的结构体。一般采用指针结构全局引用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值