文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
概览
在 Go
中, 使用 sql.DB
来访问数据库. 既可以用它来创建语句和事务也能执行查询和检索结果
关于 sql.DB
, 你需要知道的第一件事是它不是一个数据库连接. 它也没有映射到任何数据库软件的 database
和 schema
概念. 它代表抽象的接口和数据库的存在, 它可以像本地文件一样通过网络访问, 或在内存和进程中
sql.DB
为你在幕后执行一些重要的任务:
它通过驱动程序打开和关闭与实际底层数据库的连接
它按需管理一个连接池, 可能是前面提到的各种事物
sql.DB
抽象旨在使你不用担心如何管理对数据库的并发访问. 当你使用连接来执行任务时, 它会被标记为正在使用, 不再使用时, 则会被返回到可用连接池中. 这样做的一个结果是如果你没能将连接释放回池中, 可能导致 sql.DB
打开大量的连接, 进而耗尽资源(过多的连接, 过多的文件句柄, 缺乏可用的网络端口等等), 我们稍后会详细讨论这个问题
创建 sql.DB
后, 你能使用它来查询它所代表的数据库, 也可以用它创建语句和事务
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论