通过批量插入加速 Postgres 数据库填充
使用大型数据集填充 Postgres 数据库需要高效的方法。 单个 INSERT
语句对于批量操作来说速度很慢。 Postgres 提供了一个卓越的解决方案:COPY
命令。
COPY
命令直接将数据从文件或标准输入加载到表中,绕过标准查询解析器以显着加快插入速度。
使用COPY
命令批量加载数据:
准备一个包含您的数据的文本文件。
使用以下语法在 Postgres 终端中执行 COPY
命令:
<code class="language-sql">COPY table_name (column1, column2, ...) FROM '/path/to/data.txt' DELIMITER ',' CSV HEADER;</code>
将占位符:table_name
替换为表的名称,/path/to/data.txt
替换为文件的绝对路径。
根据您的数据结构调整 DELIMITER
和 CSV HEADER
。
进一步性能增强:
除了COPY
之外,这些策略进一步优化批量插入:
work_mem
和 maintenance_work_mem
为导入过程提供充足的内存。COPY
命令进行并行加载。这利用多核处理器来实现最大速度。以上是如何优化 PostgreSQL 中的批量插入以加快数据库填充速度?的详细内容。更多信息请关注PHP中文网其他相关文章!