批量插入时如何选择正确的批量大小

Shhh_8279

如何选择合适的批处理大小,我也有一个疑问。比方说,我的数据集中有50000行,我正在尝试使用batch将其插入sql。使用批处理的目的是为了节省时间。那么,为什么我必须将批处理大小设置为小集合,为什么我不能只创建50000的批处理大小,而只执行一次呢?

比尔·卡文(Bill Karwin)

正如@Erik所说,max_allowed_packet默认情况下为4MB。您的某一行的平均长度是否超过83个字节?乘以50,000将超出默认的语句长度。

您的列是否为可变长度,例如VARCHAR或TEXT或BLOB?如果是这样,则50,000行可能比您预期的要长,具体取决于您需要加载的数据。也许今天您可以将50,000行放入一个批处理中,但是下周它将失败,因为数据会导致SQL语句过长,即使行数相同也是如此。

同样在本周,它有50,000行。如果下周数据负载为100,000行怎么办?您事先知道吗?编写代码以将输入数据拆分为较小的,规模较小的批处理不是更安全吗?

另一个原因是,非常大的事务可能会给InnoDB日志缓冲区或二进制日志缓冲区带来麻烦。

如果语句本身需要几秒钟,它也会导致临时复制延迟。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

批量插入时如何选择正确的批量大小

来自分类Dev

在Symfony和Doctrine中批量插入:如何选择批量大小?

来自分类Dev

批量大小是如何确定的?

来自分类Dev

批量复制批量大小影响插入

来自分类Dev

限制选择查询的批量大小

来自分类Dev

限制选择查询的批量大小

来自分类Dev

LSTM 的批量大小

来自分类Dev

批量大小应如何定制?

来自分类Dev

Caffe可变批量大小

来自分类Dev

选择最小批量大小以进行深度学习

来自分类Dev

使用批量插入时如何修剪空间?

来自分类Dev

如何获取 Keras 模型的运行时批量大小

来自分类Dev

RNN 从哪里获取批量大小?

来自分类Dev

批量大小= 1时的批量标准化

来自分类Dev

执行批量\ copy批量插入时可以读取

来自分类Dev

批量插入时SCOPE_IDENTITY的值

来自分类Dev

批量插入时的Laravel Saving事件

来自分类Dev

如何使用批量大小在自定义TensorFlow层中创建张量

来自分类Dev

如何使用自定义损失函数处理批量大小错误?

来自分类Dev

在执行期间更改Spark Streaming中的批量大小

来自分类Dev

LMAX Disruptor-由什么决定批量大小?

来自分类Dev

为什么预测需要Keras中的批量大小?

来自分类Dev

Caffe或convnets中的批量大小是多少

来自分类Dev

PyTorch展平不保持批量大小

来自分类Dev

SyncBatchNorm的最小总批量大小是多少

来自分类Dev

TensorFlow的镜像策略,批量大小和反向传播

来自分类Dev

具有批量大小和错误尺寸的Tensorflow

来自分类Dev

为什么在GPU中分配批量大小?

来自分类Dev

Fluentd-弹性搜索批量大小的配置设置