问题标签 [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.
.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。
performance - 如何将 DataAdapter.UpdateBatchSize 设置为“最佳”值?
我终于让我的插入批次工作了,现在我一直在摆弄批次的大小,但我看不出值 50 和值 10000 之间的性能差异。这似乎很奇怪我,但我不知道幕后发生了什么,所以这可能是正常行为。
我将 160k 行插入到一个表中,我的测试值的平均时间是 115 +/- 2 秒。没有批处理需要 210 秒,所以我对改进非常满意。目标表是:
我阅读了设置 UpdateBatchSize 时要查找的内容,答案是简单地测试几个不同的值。我可以理解,但是如果您知道表设计、SQL 问题和即将插入的数据,是否应该可以计算或至少猜测一个好的值?
有没有人可以推荐的最佳实践?
sqldataadapter - SqlDataAdapter UpdateBatchSize 行错误
DataAdapter 有一个 ContinueUpdateOnError 属性,您可以将其设置为“True”,这将继续处理 DataAdapter.Update 命令,即使遇到错误也是如此。这是理想的,所以我可以在每行无法插入的数据中捕获错误。但是,这仅在批处理关闭 (DataAdapter.UpdateBatchSize = 1) 时才能正常工作。
如果 DataAdapter.UpdateBatchSize 设置为 0 或其他将打开批处理的数字,并且批处理记录中发生错误,则整个批处理将无法更新。显然,这不是我想要发生的。
理想情况下,我想混合使用这两种情况。我希望能够使用批处理,从而在插入行时减少到数据库的往返次数,但同时我希望能够在每个单独的行错误发生时捕获它(这对于打开批处理时某些原因不起作用,并且 ContinueUpdateOnError 设置为“True”)。对我来说,它看起来必须是一种或另一种方式。我要么单独插入每一行,并为每个插入访问数据库,并能够捕获每一行错误,要么我尝试将批次发送到服务器,如果批次中的一行失败,那么整个批次都会失败。
有什么想法吗?
hibernate - 指定 hibernate.jdbc.batch_size 有什么意义?
这个 Hibernate 配置表面上应该控制有多少对象被缓存在一级缓存中。原因很容易理解,我们不想耗尽内存。
但有些事情让我很困惑。我见过的每个实现,包括这个网站 都有一个明确的刷新和清除。没问题,但是配置属性有什么意义呢?
注意:我在这里假设 Hibernate 以某种方式监视缓存的大小,并且如果某种类型的对象的数量增长到大于缓存大小,则将缓存与 db 同步。不知道这个假设是不是错???
c# - 使用 nhibernate 时,如何确定映射代码中的最佳批量大小?
我正在使用 nhibernate,我在映射区域中有这样的代码:
我的问题是,我如何确定放入 .BatchSize 的最佳价值是多少?我应该简单地放一个高数字。把数字放得太高有坏处吗?
ado.net - 如何跟踪批量更新中哪一行更新失败
我正在使用try catch块使用ADO.NET2.0进行批量更新,UpdateBatchSize设置为500,我经常可以捕获异常,但我不知道哪一行更新失败,有没有办法得到实际失败的行?
azure-sql-database - 修改 Sql Azure 数据库迁移向导的批量大小
我正在使用 Sql Azure 数据库迁移向导 ( https://sqlazuremw.codeplex.com/ ) 将数据库从一个实例迁移到另一个实例。默认批量大小设置为 1000,尝试以下增加批量大小
在 SQLAzureMW.exe.config 和 SQLAzureMW.vshost.exe.config 中修改了以下内容
至
在执行 BCP 输入或 BCP 输出时,默认批量大小仍被视为 1000。如何解决这个问题?
命令已更改为
但它仍然一次只传输 1000 条记录。
tensorflow - 神经网络:如果我的 batch_size 影响了准确性,这意味着什么?
我一直听说 batch_size 不会影响学习的准确性或质量。
但在我的简单模型中,立即使用 20,000(总数据集 250 万)的 batch_size 会损失 NaN 和 0.004 的准确度。将 bath_size 减小到 2,000 将使我损失 4.10 和 0.07 的准确度,并且准确度按预期随着每个时期继续适当增加。
那么:我的 batch_size 影响准确性这一事实是否意味着我的模型设置错误?
deep-learning - Keras 中的批大小和 epoch 之间有什么关系?
我正在训练一个有 8000 个样本的模型
其中批量大小为 10(那么每个批次将包含 800 个样本)。因此,在每个时期,这 800 个样本中的一个将用于拟合模型。这是我的理解,如果我错了,请纠正我。
输出是
纪元 1/10
为什么第一个 epoch 有 13 个细分?在每个 epoch 中,应该只有一个 batch 必须执行,对吗?
tensorflow - 使用 TensorFlow 进行推理时如何设置批量大小?
如果batch size = 1,编写代码很容易,但是一张图像的平均时间比batch size为30、40或其他的情况要长。