postgresql:如何提高运行效率?

有2万个文件的数据要写入postgresql数据库,通常的做法用一个循环写入2万次,可否减少写入次数,提高运行效率?
文件合并的做法不可取,这些文件分成不同的类型,调用不同的解析程序。

阅读 2.5k
2 个回答

提供几个思路吧;
您可以通过一些方法来减少写入次数从而提高运行效率。以下是一些常见方法:

批量写入:把数据缓存到内存中,然后一次写入多条记录,而不是每次写入一条记录。

使用COPY命令:PostgreSQL提供了COPY命令,可以快速地将大量数据从文件导入到数据库中。

使用存储过程:可以使用存储过程来批量写入数据,并避免频繁打开和关闭数据库连接。

使用数据库连接池:使用数据库连接池可以避免频繁打开和关闭数据库连接,从而提高写入效率。

通过采用上述方法,您可以减少写入次数并有效提高写入效率。

我觉得还是官方文档的总结全面又准确:

  1. 禁用自动提交
  2. 使用COPY
  3. 移除索引
  4. 移除外键约束
  5. 增加maintenance_work_mem
  6. 增加max_wal_size
  7. 禁用 WAL 归档和流复制
  8. 事后运行ANALYZE
  9. 关于pg_dump的一些注记

参考:
性能提示 - 填充一个数据库

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题