2011-08-04 38 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查詢來獲取所需的數據,更新應該表現得相對較好。

相關問題