我有一个是合并两个DataTable有很多行(10,000+)的.NET应用程序。有具有大量的更新的一个很好的机会/插入使用DataAdapter.Update命令时执行的SQL表

现在,我有适配器UpdateBatchSize属性设置为200 VS警告不要将该值设置得太高,因为它会降低性能。好吧,疑难杂症。

在性能方面,我应该在什么设置该属性时?不管是什么,更新大量的行会花费大量的时间。运行它在我的机器(或DB服务器上)上并不-seem-拿那么多时间,但我相信当系统负载下做其他项目,这可能是一个问题。

有什么我可以在探查寻找什么?做一个标准分析,持续时间通常为0有时命中1或2(也许20倍整体)和流出的约20,000更新,3-4击中20. CPU是在0除了一对夫妇击中1-2 。有2个记录中上升到10左右。读取总是2和写入总是0。

有帮助吗?

解决方案

的第一件事是我会做这个设定配置的,因此您可以测试不同的值,而无需编译。接下来的事情是看你的整个批次的持续时间。如果您满意的性能不改变它。如果与性能的不愉快尝试和增加或减少的设置,看看它的表现。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top