在传统的Web服务器中,您将拥有SQL连接池和与数据库的持久连接。
但我正在考虑将整个应用程序创建为Azure Functions。 这些函数是否会在SQL服务器每次调用时创建一个新连接?
答案 0 :(得分:3)
Azure功能目前没有SQL作为输入或输出绑定的选项,因此您需要直接使用SqlClient
类来建立连接并发出查询。< / p>
只要您遵循处理SQL连接的最佳做法(请参阅此示例:C# SQLConnection pooling),默认情况下应该进行池化。
以下是从函数中将记录插入SQL的完整示例:https://www.codeproject.com/articles/1110663/azure-functions-tutorial-sql-database
答案 1 :(得分:0)
虽然这个已经回答了,但我相信这个回答可以提供更多信息。
如果您没有使用连接池,那么您可能在每次调用函数时都在创建连接。创建连接有相关的成本,对于预热实例,使用连接池是 recommended。还应谨慎选择最大连接数,因为可能有几个并行功能的应用程序正在运行(按计划)。
This 是连接池的例子。