问题标签 [updatebatchsize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1560 浏览

.net - 设置 UpdateBatchSize 时要查找的内容

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

0 投票
3 回答
5401 浏览

performance - 如何将 DataAdapter.UpdateBatchSize 设置为“最佳”值?

我终于让我的插入批次工作了,现在我一直在摆弄批次的大小,但我看不出值 50 和值 10000 之间的性能差异。这似乎很奇怪我,但我不知道幕后发生了什么,所以这可能是正常行为。

我将 160k 行插入到一个表中,我的测试值的平均时间是 115 +/- 2 秒。没有批处理需要 210 秒,所以我对改进非常满意。目标表是:

我阅读了设置 UpdateBatchSize 时要查找的内容,答案是简单地测试几个不同的值。我可以理解,但是如果您知道表设计、SQL 问题和即将插入的数据,是否应该可以计算或至少猜测一个好的值?

有没有人可以推荐的最佳实践?

0 投票
1 回答
790 浏览

sqldataadapter - SqlDataAdapter UpdateBatchSize 行错误

DataAdapter 有一个 ContinueUpdateOnError 属性,您可以将其设置为“True”,这将继续处理 DataAdapter.Update 命令,即使遇到错误也是如此。这是理想的,所以我可以在每行无法插入的数据中捕获错误。但是,这仅在批处理关闭 (DataAdapter.UpdateBatchSize = 1) 时才能正常工作。

如果 DataAdapter.UpdateBatchSize 设置为 0 或其他将打开批处理的数字,并且批处理记录中发生错误,则整个批处理将无法更新。显然,这不是我想要发生的。

理想情况下,我想混合使用这两种情况。我希望能够使用批处理,从而在插入行时减少到数据库的往返次数,但同时我希望能够在每个单独的行错误发生时捕获它(这对于打开批处理时某些原因不起作用,并且 ContinueUpdateOnError 设置为“True”)。对我来说,它看起来必须是一种或另一种方式。我要么单独插入每一行,并为每个插入访问数据库,并能够捕获每一行错误,要么我尝试将批次发送到服务器,如果批次中的一行失败,那么整个批次都会失败。

有什么想法吗?

0 投票
1 回答
13086 浏览

hibernate - 指定 hibernate.jdbc.batch_size 有什么意义?

这个 Hibernate 配置表面上应该控制有多少对象被缓存在一级缓存中。原因很容易理解,我们不想耗尽内存。

但有些事情让我很困惑。我见过的每个实现,包括这个网站 都有一个明确的刷新和清除。没问题,但是配置属性有什么意义呢?

注意:我在这里假设 Hibernate 以某种方式监视缓存的大小,并且如果某种类型的对象的数量增长到大于缓存大小,则将缓存与 db 同步。不知道这个假设是不是错???

0 投票
3 回答
5018 浏览

c# - 使用 nhibernate 时,如何确定映射代码中的最佳批量大小?

我正在使用 nhibernate,我在映射区域中有这样的代码:

我的问题是,我如何确定放入 .BatchSize 的最佳价值是多少?我应该简单地放一个高数字。把数字放得太高有坏处吗?

0 投票
1 回答
336 浏览

ado.net - 如何跟踪批量更新中哪一行更新失败

我正在使用try catch块使用ADO.NET2.0进行批量更新,UpdateBatchSize设置为500,我经常可以捕获异常,但我不知道哪一行更新失败,有没有办法得到实际失败的行?

0 投票
1 回答
139 浏览

azure-sql-database - 修改 Sql Azure 数据库迁移向导的批量大小

我正在使用 Sql Azure 数据库迁移向导 ( https://sqlazuremw.codeplex.com/ ) 将数据库从一个实例迁移到另一个实例。默认批量大小设置为 1000,尝试以下增加批量大小

在 SQLAzureMW.exe.config 和 SQLAzureMW.vshost.exe.config 中修改了以下内容

在执行 BCP 输入或 BCP 输出时,默认批量大小仍被视为 1000。如何解决这个问题?

命令已更改为

但它仍然一次只传输 1000 条记录。

0 投票
0 回答
554 浏览

tensorflow - 神经网络:如果我的 batch_size 影响了准确性,这意味着什么?

我一直听说 batch_size 不会影响学习的准确性或质量。

但在我的简单模型中,立即使用 20,000(总数据集 250 万)的 batch_size 会损失 NaN 和 0.004 的准确度。将 bath_size 减小到 2,000 将使我损失 4.10 和 0.07 的准确度,并且准确度按预期随着每个时期继续适当增加。

那么:我的 batch_size 影响准确性这一事实是否意味着我的模型设置错误?

0 投票
1 回答
526 浏览

deep-learning - Keras 中的批大小和 epoch 之间有什么关系?

我正在训练一个有 8000 个样本的模型

其中批量大小为 10(那么每个批次将包含 800 个样本)。因此,在每个时期,这 800 个样本中的一个将用于拟合模型。这是我的理解,如果我错了,请纠正我。

输出是

纪元 1/10

为什么第一个 epoch 有 13 个细分?在每个 epoch 中,应该只有一个 batch 必须执行,对吗?

0 投票
0 回答
723 浏览

tensorflow - 使用 TensorFlow 进行推理时如何设置批量大小?

如果batch size = 1,编写代码很容易,但是一张图像的平均时间比batch size为30、40或其他的情况要长。