Golang,mysql:错误1040:连接过多

Golang,mysql:错误1040:连接过多,第1张

Golang,mysql:错误1040:连接过多

sql.Open并没有真正打开与数据库的连接。

sql.DB维护与数据库的连接池。每次查询数据库时,程序都会尝试从该池获取连接,否则将尝试创建一个新池。一旦关闭这些连接,它们就会放回池中。

这是做什么的

rows.Close()
。你
db.QueryRow("...")
做同样的事情在内部,当你打电话
Scan(...)

基本问题是您创建的查询过多,每个查询都需要一个连接,但是关闭连接的速度不够快。这样,您的程序必须为每个查询创建一个新的连接。

您可以通过在sql.DB上调用SetMaxOpenConns来限制程序使用的最大连接数。

有关更多信息,请参见http://go-database-sql.org/surprises.html。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5019960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存