我在.Net(使用Dapper的v4.6版)中有一个名为BulkUpdate的方法,它将修改多个表并可以包含大约10,000行或更多行。根据要插入的数据数量,此操作可能需要几秒钟到几分钟。由于我将更新多个相关表,因此必须将所有操作括在TransactionScope
中。
我的问题是,当我的BulkUpdate方法正在进行时,避免其他读取请求(在事务之外)“锁定”或“等待”的最佳方法是什么?请,我不想在每次读取的开头添加SET ISOLATION LEVEL READ_UNCOMMITTED
,也不想添加NO LOCK
提示...还有其他解决方案吗?
答案 0 :(得分:0)
请在前端C#中使用TASK概念,将100行或1000行拆分为每个任务并同时运行。它可能对您已用光。我已经可以像这样改善我的应用程序性能。
https://www.codeproject.com/Questions/1226752/Csharp-how-to-run-tasks-in-parallel