开发者社区 问答 正文

大神们 在富函数的open中从mysql连接池里取连接 连接池初始化是20个 如果富函数的并行度是1

大神们 在富函数的open中从mysql连接池里取连接 连接池初始化是20个 如果富函数的并行度是10 那是不是会同时建立200个数据库链接呢。

展开
收起
游客3oewgrzrf6o5c 2022-06-22 10:52:20 513 分享 版权
阿里云 AI 助理回答

在使用Go-MySQL-Driver连接MySQL数据库并配置了连接池的情况下,连接池的目的是复用数据库连接,以减少频繁创建和销毁连接的开销,并非每个并发请求都会新建一个数据库连接。根据您的描述,连接池初始化设置的最大打开连接数为20个。

当您的富函数(假设是无状态且并发执行的)并行度设置为10时,连接池会管理这些连接,确保它们被有效复用。这意味着在理想情况下,不会因为并行度为10就直接建立200个数据库连接。而是这10个并发的富函数实例会共享连接池中的20个连接。当一个函数实例需要访问数据库时,它会从连接池中获取一个已有的连接(如果可用),使用完毕后再归还给连接池,而不是每次调用都创建新的连接。

总结: - 连接池大小为20个连接。 - 即使富函数并行度为10,也不会直接导致200个数据库连接的建立。 - 并发执行的富函数会复用连接池中的连接,提高效率并控制数据库连接的实际使用数量。

因此,答案是不会同时建立200个数据库链接,而是通过连接池的管理机制,有效地复用那20个初始化的连接来服务高并发的需求。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答