sách gpt4 ai đã đi

postgresql - PostgreSQL 中批量插入的最佳大小

In lại 作者:行者123 更新时间:2023-12-05 00:48:43 28 4
mua khóa gpt4 Nike

我有两个大整数的巨大表(500 000 000 行)。两列都被单独索引。我正在使用语法批量插入此表:

INSERT into table (col1, col2) VALUES(x0, y0), (x1, y1),...;

当插入少量项目(比如 500 个)时,每一个项目给我的时间与插入大量项目(比如 20000 个)时相同。这是预期的行为吗?我认为 PostgreSQL 在一次插入更多值时会执行某种优化。请注意:自动提交已禁用。

感谢您的建议。

1 Câu trả lời

这并不奇怪。

如果您在单个事务中运行每个插入,则 fsync 会在每次提交时强制将数据输出到预写日志,从而限制性能。

但是,一旦您的批处理足够大,实际 I/O 就会相形见绌,而且无论您的批处理有多大,性能都应该保持不变。无论插入 100 行还是 10000 行,每次插入都执行相同的操作并花费相同的时间。

就 PostgreSQL 的架构而言,唯一可能阻止您在单个事务中插入所有内容的是事务失败时丢失的工作量。

关于postgresql - PostgreSQL 中批量插入的最佳大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49250849/

28 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com