2010-02-24 72 views
3

我正在運行一個對錶進行大量更新(> 100,000)的進程。我可以選擇將所有更新放在單個事務中,還是每1000次提交一次事務。Postgres的最佳交易規模?

暫時忽略事務失敗並中止的情況。我對記憶和速度效率的最佳交易規模感興趣。

回答

2

忽略事務失敗的情況,拆分成批將使用更少的內存。

可以想象,它可能會增加執行整個更新所花費的總時間的一些開銷,但對併發運行的其他任何其他方面的整體壓力較小。

+0

在非常不科學的測試中,似乎將查詢分解成我認爲1或2千字節的批處理似乎給出了合理的性能。 – Joe 2010-03-24 11:38:16