0

我们正在使用 Postgres 9.3(计划升级到 9.5)。想知道是否有一些清单可用于优化 Postgresql 服务器。

我正在寻找以下级别的优化:

  1. Postgres db 配置参数级别
  2. 从数据库的角度来看的最佳实践(表和查询)

我有5000 万条记录的客户表和交易表有24 亿条记录。

索引如下(两个表都没有分区):

客户主数据:CustomerId 和 EnrolledDate(单索引)

交易:CustomerId 和 InvoiceDate(单索引)

所有预期的报告/输出都使用上述 2 个表格。

服务器规格如下:

  • 操作系统:Ubunutu 14.04 LTS
  • CPU:16 CPU @ 2.4Ghz
  • 内存:64 GB
  • 存储:1500 GB
  • 应用程序:PostgreSQL 9.3(计划升级到 9.5)

你能帮我解决这个问题吗?

4

1 回答 1

0

您永远找不到这样的清单,因为随着数据的增长,性能瓶颈在很大程度上取决于应用程序的特定读写模式。

现在,我使用过的最大的 PostgreSQL 数据库大小为 10TB,并且增长迅速。我们面临的挑战是读/写扩展,管理这些需要密切关注实际问题并了解事物在低层次上的工作方式。

如果行数是您最关心的问题,那么您的清单可以归结为:

  1. 足够的缓冲区和内存来存储所有相关索引。
  2. 遍历每一种频繁查询并查看可能需要添加哪些索引以使其快速。

请注意,索引头部的频繁更新可能会产生令人不快的副作用,并且查询计划不会告诉您一切。但这是开始的地方。

于 2016-03-22T11:37:07.187 回答