gpt4 book ai didi

Java list v/s Database list 哪个贵?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:37 25 4
gpt4 key购买 nike

我需要创建一个包含大约 50K 条记录的列表,这些记录需要插入到数据库中。

我可以想到两种在性能方面更好的方法

  1. 接受这些对象列表并插入它们的存储过程
  2. 用 java 构造列表并使用 mybatis 为每条记录调用数据库插入

最佳答案

我认为使用 PreparedStatement 和批量插入是最好的选择。PreparedStatement的好处是sql缓存在RDBMS服务器上,可以批量插入。

类似于:

private void doInsert(Connection conn, List<Data> data){
String sql = "INSERT INTO T (A,B,C) VALUES (?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
int count = 0;
for(Data d : data) {
count++;
ps.setString(1, data.getA());
ps.setString(2, data.getB());
ps.setString(3, data.getC());
ps.addBatch();
if (count%1000 == 0) {
ps.executeBatch();
}
}
ps.executeBatch();
ps.close();
}

关于Java list v/s Database list 哪个贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40937487/

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