gpt4 book ai didi

java - Java快速导入数据到mysql

转载 作者:行者123 更新时间:2023-11-29 02:51:50 25 4
gpt4 key购买 nike

通过 Java 代码将大约 500,000 条记录从 CSV 文件插入到 MySQL 数据库需要多长时间?数据库托管在本地主机上。

表结构:AI id, |变种(8) |日期时间 |整数 |变种字符(2)。我的代码需要在 40 分钟内插入 70.000 条记录。有什么办法可以更快吗?这是我的代码的主要部分:

CsvReader pro

ducts = new CsvReader(path);
products.readHeaders();
stmt = con.createStatement();
String updateString = "INSERT INTO table (T_V1, date, T_V2, T_V3) VALUES (?,?,?,?)";
PreparedStatement preparedStatement = con.prepareStatement(updateString);

while (products.readRecord()) {
v1= products.get("V1");
date = format.parse(products.get("Date") + " " + products.get("Hour"));
java.sql.Date dateDB = new java.sql.Date(data.getTime());
v2 = products.get("V2");
v3 = products.get("V3");



preparedStatement.setString(1, v1);
preparedStatement.setDate(2,dateDB);
preparedStatement.setInt(3, Integer.parseInt(v2));
preparedStatement.setString(4, v3);
preparedStatement.executeUpdate();
}

根据您的建议,我将语句的创建移到了循环之外。在我有 29 个 rps 之后,现在我每秒有 33 个记录。

最佳答案

我可能会选择使用 MySQL 中的 LOAD DATA 语句而不是使用 Java:

LOAD DATA LOCAL INFILE '/path/to/your/file.csv' INTO TABLE table;

假设您在将每一行插入 MySQL 之前对其进行处理,这将避免您当前的大量开销。

您可以使用原始 JDBC 从 Java 执行 LOAD DATA 语句。

关于java - Java快速导入数据到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34826934/

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