我正在编写一个对 Postgres 数据库进行大量写入的程序。在典型的场景中,我会将 100,000 行写入一个规范化的表(三个外整数键,它们的组合是主键和表的索引)。我正在使用 PreparedStatements 和 executeBatch(),但是当我们要替换的嵌入式数据库(具有相同的外键约束和索引)在我的笔记本电脑上执行时,我只能设法在大约 70 秒内推入 100k 行10.
我是 JDBC 的新手,我不希望它能够击败自定义嵌入式数据库,但我希望它只慢 2-3 倍,而不是 7 倍。有什么明显我可能遗漏的东西吗?写入的顺序重要吗?(即说如果它不是索引的顺序?)。挤出一点速度要注意什么?