performance - 一张大表的 Postgresql 性能?

标签 performance postgresql

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

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

谢谢。

最佳答案

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

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

关于performance - 一张大表的 Postgresql 性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14551348/

相关文章:

c++ - 逐行读取文件与读取整个文件时的性能

c# - LINQ to Entities 事务性能问题

regex - PowerShell 条件效率 : -match vs. -like

sql - 如何在单个查询中使用 count ,'like' 和 group by?

mysql - 中国到 AWS 多主复制

java - 如何将参数添加到 Spring Batch 项目阅读器?

javascript - Node.js 中的 console.time() 与 performance.now()

javascript - 如何使用 JavaScript/Tone.js 更改音高和播放速率?

django - 是否可以在 Djangos SearchVectorField 中保留一个连接字段?

ruby-on-rails - 为什么 rake db :migrate sometimes add trailing whitespace to structure. sql?