2011-08-04 9 views
0

データベースとcsvファイルが1日1回更新されています。私は最後の挿入のレコードで別のログファイルを作成して、このファイルから自分のtable1を更新することができました。 いいえ、私はtable1から計算を続けている新しいテーブルtable2を作成する必要があります。他のテーブルの毎日のデータを使ったテーブルの更新Postgres/Python

私の問題は、これらの計算がtable1の10,20および90の前の行に基づいていることです。

質問は - 効率的にテーブル1のデータから効率的にテーブル2を更新できますか?私はテーブルの初めから毎日計算をやり直したくないので、それは非常に時間がかかるでしょう。

ありがとうございました!

+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

答えは「可能な限り期待できる」と答えています。

テーブル、データ、クエリ、およびマシンの統計情報が表示されていないと、あまりにも具体的ではありません。しかし、一般的には基本的に3つのステップを実行します。これは少し単純化されていますが、パフォーマンスを見積もることができます。

まず、必要なデータを選択します。次に、更新された行を削除済みとしてマークし、新しいデータを含む新しい行を表に挿入します。一般に、あなたの制限は通常、データ選択です。 SELECTクエリを効率的に実行して必要なデータを取得できる限り、更新は比較的うまくいくはずです。

関連する問題