2023年还有SqlConnection.ClearPool(SqlConnection)的位置吗?

问题描述 投票:0回答:0

我有一些后台服务每小时运行一次,循环遍历可能有 1000 多个数据库,它打开它们并检查需要操作的数据。

有一些性能问题最好,因为我可以告诉 map 返回调用

SqlConnection.ClearPool()
。在我们繁忙的时间里,这通常似乎需要大约 0.45 秒。

读这个 - https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-connection-pooling?redirectedfrom=MSDN

在 2023 年似乎不再需要这样做(除了需要删除数据库的地方),而使用语句就足够了吗?

这就是代码的大致样子——无论哪种方式的任何肯定,或者在哪里查看

SqlConnection.ClearPool
的性能将不胜感激

using (var masterContext = Context.CreateNew())
{
    var thousandsOfCompanies = GetActiveCompanies(masterContext).ToList();                    
                
    foreach (var company in thousandsOfCompanies )
    {
        try
        {                            
            using (var context = Helper.CreateForDatabase(company.ServerName, company.DatabaseName))
            {
                // Do things
                masterContext.SaveChanges();
                SqlConnection.ClearPool(context.SqlConnection);
            }
        }
        catch (Exception exception)
        {
            exception.Log();
        }
    }
}
entity-framework entity-framework-6 connection-pooling
© www.soinside.com 2019 - 2024. All rights reserved.