我有一张相当大的表格(20M条记录),其中有3列索引和一个数组列。每天都会对所有行进行数组列的更新(追加新值)。也会有插入操作,但更新操作比插入操作多。
数组中的数据表示与三个键对应的每日测量值,类似于这样:
随着时间推移,更新操作(每天批量执行一次)的性能明显恶化。
使用的是PostgreSQL 8.3.8。
你能给我一些提示去寻找解决方案吗?这可能包括调整postgres中的某些参数,甚至转移到另一个数据库(我猜非关系型数据库更适合这个特定的表格,但我没有太多的经验)。
数组中的数据表示与三个键对应的每日测量值,类似于这样:
[[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中的某些参数,甚至转移到另一个数据库(我猜非关系型数据库更适合这个特定的表格,但我没有太多的经验)。