sql - Postgres 优化插入/只读

标签 sql postgresql

我正在处理具有以下特征的数据库:

  • 多次插入(在 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/

相关文章:

c# - 在一个查询中使用 MySqlCommand 将多条记录插入 MySQL C# (MySQLConnector) & 用于转义引号的命令参数

sql - 大查询 : how to perform rolling timestamp window group count that produces row for each day

PostgreSQL 禁用更多输出

postgresql - 在 PostgreSQL 中将 smallint 转换为 boolean

PostgreSQL array_agg 命令

sql - 获取 MySql 中重复行的列表

sql - 更新表中的单列

mysql - 如何返回一个sql时间字段的平均值

python - 当使用 nginx 作为 gunicorn 的反向代理时,Django 应用程序中的空 REMOTE_ADDR 值

c# - Npgsql Entityframework - 看不到 ADO.net 实体数据模型的 Postgres 提供程序