设置 UpdateBatchSize 时要注意什么

发布于 2024-07-17 04:55:30 字数 466 浏览 12 评论 0原文

我有一个 .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。

I have a .NET application that is merging two datatables with a lot of rows (10,000+). There is a good chance of having a large number of update/inserts to perform to the SQL table when using the DataAdapter.Update command.

Right now, I have the Adapter UpdateBatchSize property set to 200. VS warns against setting this value too high because it may decrease performance. Ok, gotcha.

Performance wise, what should I look for when setting this property? No matter what, updating lots of rows will take a bunch of time. Running it on my machine (or on the DB server) doesn't -seem- to take that much time, but I am sure when the system is loaded down doing other items, this may be an issue.

Is there something I can look for in the Profiler? Doing a standard profiling, the Duration is usually 0. Sometimes is hits 1 or 2 (maybe 20 times overall) and out of about 20,000 updates, 3-4 hit 20. CPU is at 0 except for the a couple that hit 1-2. There are 2 records that go up to around 10. Reads are always 2 and Writes are always 0.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

硬不硬你别怂 2024-07-24 04:55:30

首先,我将使此设置可配置,以便您可以测试各种值而无需编译。 接下来是观察整个批次的持续时间。 如果您对性能感到满意,请不要更改它。 如果您对性能不满意,请尝试增加或减少设置以查看其表现。

First thing is I'd make this setting configurable so you can test various values without compiling. The next thing is to watch the duration of your entire batch. If your happy with the performance don't change it. If your unhappy with the performance try and increase or decrease the setting to see how it behaves.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文