我正在处理具有以下特征的数据库:
- 多次插入(在 1k/秒范围内)
- 数据上有很多索引,连接很复杂
- 没有删除或更新,只有插入、读取和删除表
- 我不在乎对数据库的读取是否反射(reflect)了准确的状态
- 数据并不重要,我已经在运行 fsync=off
我已经对 postgres 优化有一定了解,但我希望可能有一些额外的技巧更适合我的特定用例。
最佳答案
您可以禁用 WAL,也许可以将其指向/dev/null 或 RAMDISK。请注意,有人推测您可能无法在完全停止后重新启动数据库,因此我建议您谨慎行事并进行测试。
确保将表聚类。分区也可能有所帮助。
当然要禁用 synchronous_commits。
http://wiki.postgresql.org/wiki/FAQ#How_do_I_tune_the_database_engine_for_better_performance.3F
关于sql - Postgres 优化插入/只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133882/