mysql - 关闭 sql db 连接的正确方法是什么?
问题描述
我在 Go 中使用 sql,使用mysql 驱动程序和database/sql
.
在阅读它时,我发现这个驱动程序处理与连接池本身和数据库相关的事情,err := db.Open("conn string")
返回连接池而不是单个连接,当我们使用时db.Query("some query")
,它实际上从连接池中选择一个空闲连接(如果池中没有连接是free 它会打开一个新的)并使用它。
如果我的上述理解有误,请纠正我。
现在我的问题是,当我打电话时会发生什么db.Close()
:
- 它会关闭连接池中的所有连接吗?
- 即使它们被传递给不同的 goroutine 并在那里使用,它会关闭吗?
解决方案
推荐阅读
- ios - 如何将 UITableView 上的分隔线放到特定部分?
- selenium - 无法将鼠标悬停在菜单上以使其在 Selenium 中折叠
- python-3.x - 如何在 QFileDialog 中预先填写文件名?
- julia - 在 julia 中,对传递函数的评估比直接评估慢。有解决方法吗?
- graphql - 带有逻辑的 GraphQL 批处理
- android - 使用 savedInstanceState 保存和恢复 Kotlin lambda
- python - 对于 mini_batch_gradient 下降,forloop 内未更新神经网络参数
- google-cloud-platform - 我们在 Google Big Query 中是否有类似用户定义函数的 SQL Server?
- google-bigquery - 如何将旧版 SQL BigQuery 转换为标准 SQL?
- linux - 如何将 Jenkins 主目录从 /var/lib 更改为 app 并为原始位置创建符号链接,因为作业不会受到影响