【发布时间】:2011-03-07 05:12:55
【问题描述】:
我有一个相当大的表(20M 记录),它有一个 3 列索引和一个数组列。数组列每天更新(通过附加新值)所有行。也有插入,但没有更新那么多。
数组中的数据代表三个键对应的每日测量值,如下所示:[[date_id_1, my_value_for_date_1], [date_id_2, my_value_for_date_2]]。它用于绘制这些每日值的图表。假设我想随着时间的推移可视化键(a,b,c)的值,我做SELECT values FROM t WHERE a = my_a AND b = my_b AND c = my_c。然后我使用values 数组来绘制图形。
随着时间的推移,更新(每天一次批量更新)的性能显着恶化。
使用 PostgreSQL 8.3.8。
您能告诉我在哪里寻找解决方案吗?它可以是从调整 postgres 中的一些参数到甚至移动到另一个数据库(我猜非关系数据库会更适合这个特定的表,但我没有太多经验)。
【问题讨论】:
-
@Milen 感谢您的提示。我是 StackOverflow 的忠实粉丝,比起专门的邮件列表或论坛,我更喜欢它。虽然我同意那些仍然有他们的位置,如果我在 SO 上找不到帮助,我肯定会去那里。
标签: performance optimization postgresql