4

我有一个关于数据库设计的基本问题。我们有一个 postgresql 数据库,其中一个表比其他表大得多。这是一个审计跟踪,记录我们软件中的任何和所有更改。这样做不聪明吗?将其存储在另一个数据存储(redis)或另一个数据库中会更好吗?或者 Postgresql 是否以大表不会影响其他表的读取性能的方式处理这个问题。postgres 如何知道要在内存中缓存哪些数据等。

对于这样一个基本而模糊的问题,我很抱歉,我不知道该怎么问这个问题。我只是不想走下去,一年后,我们遇到了严重的数据库性能问题,因为我们的一个表是 50gb,而数据库的其余部分小于 1gb。

谢谢。

4

1 回答 1

4

我们使用表分区(使用 PostgreSQL继承),一个月的数据分区约为 150GB。表的大小并不那么重要,它与您的查询和用于这些查询的索引有关。

在处理性能时,您应该始终使用真实数据、真实查询、EXPLAIN 和 EXPLAIN ANALYZE。没有这个,这将是一个幸运的镜头。

于 2013-01-27T19:44:16.280 回答