我有以下代码在 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)
);