小宝自学golang,请教一个业务上的一个常用场景问题?

新手上路,请多包涵

目前在自学golang, 使用的orm库是 gorm。

场景是这样的:

获取一个文章列表,每个文章对应有一个作者,作者信息在另一个列表里面,返回列表的结构大体是:

[
    {
      title: "xxx",
      content: "xxx",
      user: {
          name:"xxxx",
      }
    }
]

我得操作是:

先获取文章列表,然后遍历列表,根据文章的userId 再去获取用户信息,功能是能满足,
但是可能需要执行10次mysql,去获取用户信息。

是否可行?:

如果我把所有userId拿到,放到一个list里面,使用 in 语法去查询,这样只需要一条sql,然后再去循环遍历,拼接数据返回。

想问下大家平时工作是怎么操作的,刚开始学,只会一些简单sql语句。谢谢!

阅读 1.3k
2 个回答

你说的是对的,能一次批量的 sql,肯定比多条 sql 好呀。

使用wherein得到结果集,在进行代码上赋值处理

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题