我想问一些与Java AS400连接驱动程序,即JTOpen有关的事情,是关于它是否有类似于PostgreSQL的URL参数:
jdbc:postgresql://localhost:5432/db?reWriteBatchedInserts=true
这允许执行如下 SQL 插入:
INSERT INTO table (name, value) values ("name1", "value1"), ("name2", "value2"), ("name3", "value3")
而不是这样做:
INSERT INTO table (name, value) values ("name1", "value1")
INSERT INTO table (name, value) values ("name2", "value2")
INSERT INTO table (name, value) values ("name3", "value3")
我正在寻找与此相关的答案,因为我正在寻找优化数据库中的插入,我只想知道是否有一个我可以提供的参数来实现这一点,或者如果没有参数或我可以在哪里求解答,我找了好几天了,没找到任何东西。
我使用 AS400 已有 20 年了,所以我不知道它的 SQL 方言和 JDBC 驱动程序有什么可能,所以这是猜测:
如果 AS400 SQL Shell 支持支持多记录插入的语法,那么我不明白为什么 Java 驱动程序无法处理它。 JDBC 驱动程序只会将其视为一个非常长的语句。
我认为您的 JDBC 驱动程序可能会支持批量插入方法。 您准备一条语句,只为一组列值做好准备,然后提供批量发送到数据库的数据集合。 这更符合 Java 程序发送数据的方式,并且可能比离散插入提供同样更好的性能。在这里阅读教程:https://www.baeldung.com/spring-jdbc-batch-inserts