2

我有一个 .NET 应用程序,它将两个数据表与很多行(10,000+)合并。使用 DataAdapter.Update 命令时,很有可能对 SQL 表执行大量更新/插入操作。

现在,我将 Adapter UpdateBatchSize 属性设置为 200。VS 警告不要将此值设置得太高,因为它可能会降低性能。好的,明白了。

性能方面,设置此属性时我应该寻找什么?无论如何,更新大量行将花费大量时间。在我的机器(或数据库服务器)上运行它似乎不会花费太多时间,但我确信当系统加载其他项目时,这可能是一个问题。

有什么我可以在 Profiler 中寻找的东西吗?进行标准分析时,持续时间通常为 0。有时是命中 1 或 2(可能总共 20 次),在大约 20,000 次更新中,3-4 命中 20。CPU 为 0,除了命中 1-2 的一对. 有 2 条记录最多可达 10 条左右。读取始终为 2,写入始终为 0。

4

1 回答 1

2

第一件事是我会让这个设置可配置,这样你就可以在不编译的情况下测试各种值。接下来是观察整个批次的持续时间。如果您对性能感到满意,请不要更改它。如果您对性能不满意,请尝试增加或减少设置以查看其行为方式。

于 2009-04-14T01:26:25.053 回答