循环通过25,000条记录的最有效方法是什么,并且基于一些不会改变的预先编写的vb逻辑(99%肯定),将表中的Result列更新为值1,2或3?
性能和可靠性在这里是最重要的.这很可能会通过网络上的客户端服务器应用程序调用,但能够从Web应用程序调用它会很好.我正在考虑用T-SQL,C#做3种不同的方法.
一个.编写执行存储过程的对象获取25,000条记录,使用foreach集合遍历每条记录并基于某些c#逻辑,在执行存储过程的每条记录上调用一个对象来更新该行.这会将对象调用25,000次(我假设proc只会重用执行计划)
要么
湾 编写一个获取25,000条记录的存储过程,使用禁止的游标遍历每条记录,并根据某些T-SQL逻辑,更新该存储过程中的该行.
要么
更新:我的解决方案就是这样,我将继续使用持久计算列,并将循环分解为更小的更新语句来更新列(全部包含在事务中).见下文.我认为与循环相比它会非常快.
你显然有一些条件确定值应该是1,2或3.你可以只做3个更新查询.每个查询都会根据确定值是1,2或3的条件更新记录.如果可以提供帮助,请不要将所有数据下载到您的计算机上.
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |