gpt4 book ai didi

parallel-processing - Parallel.ForEach 应该在 DB 调用中使用吗?

转载 作者:行者123 更新时间:2023-12-04 06:36:10 27 4
gpt4 key购买 nike

我有一个 Foo ID 的列表。我需要为每个 ID 调用一个存储过程。

例如

Guid[] siteIds = ...; // typically contains 100 to 300 elements
foreach (var id in siteIds)
{
db.MySproc(id); // Executes some stored procedure.
}

每个调用都非常独立于其他行,这在数据库中不应该有争议。

我的问题: 使用 Parallel.ForEach 对此进行并行化是否有益? ?还是数据库 IO 会成为瓶颈,更多的线程只会导致更多的争用?

我会自己测量它,但是,很难在我的测试环境中测量它,其中数据和负载比我们真正的 Web 服务器小得多。

最佳答案

出于好奇,为什么要使用 Parallel.ForEach 对其进行优化并生成线程/打开连接/传递数据/获取 的响应每件 而不是编写一个简单的“sproc”来处理 ID 列表而不是单个 ID?

从第一眼看,它应该会给你带来更显着的改进。

关于parallel-processing - Parallel.ForEach 应该在 DB 调用中使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855234/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com