PostgreSQL:没有索引的大型插入的性能,temp table
PostgreSQL: performance of large inserts without index, temp table
我正在处理 table 50+ 百万行。
我想知道如果我先在临时 table 中插入大约 50k 行的批次,然后一次性将它们全部插入批量 table,而不是直接批量插入 ~50k 行 table?
准确来说,哪个更好?
许多小插入到目标中 table
或
首先插入到temp table,然后全部插入到target table?
table 没有索引。
当然欢迎任何关于性能提升的建议!
INSERT
性能不应取决于批处理的大小。
重要的是您不会 运行 每个 INSERT
在自己的交易中。
此外,如果每个微小的 INSERT
都必须单独解析,这会造成伤害,因此请使用准备好的语句。
如果这样做,直接插入数据应该比使用中介更快 table。
我正在处理 table 50+ 百万行。
我想知道如果我先在临时 table 中插入大约 50k 行的批次,然后一次性将它们全部插入批量 table,而不是直接批量插入 ~50k 行 table?
准确来说,哪个更好?
许多小插入到目标中 table 或
首先插入到temp table,然后全部插入到target table?
table 没有索引。
当然欢迎任何关于性能提升的建议!
INSERT
性能不应取决于批处理的大小。
重要的是您不会 运行 每个 INSERT
在自己的交易中。
此外,如果每个微小的 INSERT
都必须单独解析,这会造成伤害,因此请使用准备好的语句。
如果这样做,直接插入数据应该比使用中介更快 table。