为了账号安全,请及时绑定邮箱和手机立即绑定

GORM Golang:克隆数据库实例的目的

GORM Golang:克隆数据库实例的目的

Go
慕哥9229398 2022-01-04 14:39:56
在过去的几周内,我刚刚了解了作为数据库 ORM 的 GORM。检查代码内部后,每个命令(限制、顺序、位置或选择等)都通过克隆当前数据库返回新实例。这里有没有人知道克隆数据库而不是使用当前实例的主要目的是什么?当我有命令 select、where、limit、order、join 时,这将是克隆数据库实例的 5 次。AFAIK,在内存上创建对象很昂贵。
查看完整描述

1 回答

?
梦里花落0921

TA贡献1772条经验 获得超6个赞

目的是能够存储查询的“临时”实例,以便以后能够导出它们。也就是说,如果您有许多共享序列的某些部分的查询,您应该能够执行类似的操作


q := gorm.Select(...).Limit(...).Order(...)

q1 := q.Where(...)

q2 := q.Where(...)

(这个例子是一个粗略的例子,可能甚至没有映射到 GORM API,因为我自己不使用它。)


现在,我相信与执行 SQL 查询的成本相比,在内存中克隆不会保留很长时间的对象不会影响太多性能,这意味着网络往返......


查看完整回答
反对 回复 2022-01-04
  • 1 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信