gpt4 book ai didi

java - 可以添加到 PreparedStatement Batch Update 的参数集的最大数量是多少?

转载 作者:行者123 更新时间:2023-12-03 18:23:50 27 4
gpt4 key购买 nike

我需要通过 jdbc 执行超过 100000 条插入语句,如下所示:

Connection connection = datasource.getConnection();
String sql = "Insert Into Table (ColA, ColB) Values(?, ?)";
String[][] params = /*some array*/

PreparedStatement statement = connection.prepareStatement(sql);
for(String[] var : params)
{
statement.setString(1, var[0]);
statement.setString(2, var[1]);
statement.addBatch();
}

statement.executeBatch();

我认为这是一个常见问题,但我似乎无法找到这个问题的任何明确答案。它是一个跨数据库项目。

最佳答案

这将取决于您在 MySQL 中的 MAX_ALLOWED_PACKET 设置(如果这是您正在使用的)。

在客户端,MySQL 的默认最大数据包大小为 16 MB。

您可以通过以下任一方式更新值:

[mysqld]
max_allowed_packet=64M

mysql --max_allowed_packet=64M

http://dev.mysql.com/doc/refman/5.5/en/packet-too-large.html

当然,这是假设您使用的是 MySQL。其他数据库可能有不同的设置。

关于java - 可以添加到 PreparedStatement Batch Update 的参数集的最大数量是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9712710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com