gpt4 book ai didi

java - MySQL prepareStatement Batch 慢

转载 作者:可可西里 更新时间:2023-11-01 11:57:59 30 4
gpt4 key购买 nike

我有以下代码在 MySQL 表中插入行:

String sqlInsert = "INSERT INTO test_perf_table ( id, name) VALUES ( ?, ?);";
PreparedStatement sqlInsertSt = connection.prepareStatement(sqlInsert);

for (int i = 0; i < SETSIZE; i++) {
sqlInsertSt.setInt( 1, ids[i]);
sqlInsertSt.setString( 2, names[i]);
sqlInsertSt.addBatch();
}
int[] updateCounts = sqlInsertSt.executeBatch();

问题是我每秒只归档 21 个事务,这真的很低,我期望速度快 10 倍。

所以我的问题是,我的代码是否需要改进或者可能是数据库配置问题?

MySQL 服务器在 Win8 中运行 @localhost,使用 my-large.ini 默认配置,使用 mysql-connector-java-5.1.13 驱动程序。

不确定,但我认为引擎是 myisam,因为我没有指定任何内容

编辑:

CREATE TABLE test_perf_table (
id INT,
name VARCHAR(20)
);

最佳答案

我最近才处理这个问题。

最大的区别是将参数 rewriteBatchedStatements=true 添加到您的 jdbc 连接 url。

您还可以通过在事务中执行 executeBatch() 来提高性能。

关于java - MySQL prepareStatement Batch 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13348632/

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