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

Golang SQL:一次查询两个表还是分开查询/连接池更高效?

Golang SQL:一次查询两个表还是分开查询/连接池更高效?

Go
紫衣仙女 2022-10-17 19:30:04
我有一个用于数据库 A 和数据库 B 的连接池。我正在将一些 Node.JS 代码移到 Go(如果重要的话,我正在使用 SQL Server),并且一些查询正在执行此操作:db.A.Query(`    select ... from some_table;    select ... from B..other_table;`) 这样做更好,还是喜欢:db.A.Query(...)db.B.Query(...)我读到这一行:为您需要访问的每个不同的数据存储创建一个 sql.DB 对象从这里。直到现在我才意识到我将“datastore”读为“database”,所以现在我什至不确定拥有这两个数据库连接池是否有效!感谢您的任何帮助!
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

对于大多数情况和批量发送多个 SELECT 查询的 SQL Server 客户端程序而言,效率并不高。也许如果查询返回的结果集非常小,并且您以非常高的频率运行它们,您可能会看到实质性的差异。但在范式案例中,您是分批发送查询还是分批发送查询并不重要。


这对 SQL Server 完全没有影响,因此唯一的区别在于客户端/服务器网络流量。


SSMS 将允许您比较在一个批处理脚本和一个多批处理脚本中运行的查询之间的客户端统计信息。EG运行


select top 10 * from sys.objects

select top 5 * from sys.columns

接着


select top 10 * from sys.objects

GO

select top 5 * from sys.columns

在 SSMS 中输出以下客户端统计信息

//img1.sycdn.imooc.com//634d3cd90001318806590416.jpg

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

添加回答

举报

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