2011-08-04 37 views
0

我有一个每天更新一次的数据库和csv文件。我设法通过用最后一个插入记录创建一个单独的日志文件来更新我的table1。 不,我必须创建一个新的表table2,我在table1中进行计算。使用其他表格的日常数据进行表更新Postgres/Python

我的问题是这些计算是基于来自table1的前10,20和90行。

现在的问题是 - 我怎样才能有效地从table1的数据每天更新table2?我不想每天都从表格开始重新进行计算,因为这对我来说非常耗时。

感谢您的帮助!

+0

你能澄清这个问题吗?您是否想用'table1'中的数据或'table1'上计算的数据更新'table2'并将其放入CSV文件中? – artdanil

+0

你在Python中进行计算吗?还是可以在SQL中实现它们并让它们由PostgreSQL执行?我不明白为什么你不能使用WHERE将结果集限制到最近添加的行。如同artdanil指出的那样,对这项任务进行更详细的说明会很有用。 – fviktor

+0

好的,我每天都会将数据从CSV更新到table1。从table1中我得到这些数据,进行计算,然后更新table2。表1由公司,会计信息,最近的市场价格组成。 table2应该有一些公司的统计数据。对不起,我是sql新手,真的不知道如何分开每个公司的最后20-30行计算。 – Timka

回答

0

答案是“以及可以预料的。”

没有看到您的表格,数据和查询,以及您的机器的统计数据,很难做到太具体。不过一般的更新基本上都是三个步骤。这有点过分简化,但它可以让你估计性能。

首先它选择所需的数据。然后它将被更新的行标记为已删除,然后将新数据插入到表中。一般来说,你的限制通常是数据选择。只要您可以高效地运行SELECT查询来获取所需的数据,更新应该表现得相对较好。

相关问题