2017-04-12 9 views
3

PSQLデータベースを介して、ある月の終わりにトリガーして1つのテーブルのデータを格納するトリガーまたは何らかのイベントを作成したい(各従業員のデータを制約し、私はまだ毎月のレポートを作成する場合(PSQLはデータベース、C#はアプリケーションを作成するために使用される)の場合、私はまだそのデータに達することができるようにテーブルのコレクション(データベース)の種類。どのようにそれを行うにはどのようなアイデア?PSQLの月ごとにストレージ "コレクション"を作成しますか?

答えて

3

データを分離する必要が非常に強い場合を除いて、それが存在するテーブルに残しておきます。通常、データベース内の古いデータをアーカイブアウトする必要はなく、開始時以降に作成されたデータを選択するクエリを作成するだけです。

アーカイブと要約プロセスを行う必要がある場合は、cronまたはタスクplcgsqlプロシージャを起動して、表に対して適切なINSERT INTO ... SELECTおよびDELETE FROMの問合せを実行するスケジューラ・ジョブ。それを行う一般的な方法はありません。

あなたが探しているものがテーブルパーティションであれば、そのためのpgpartmanのようなツールがあります。しかし、クエリ/インデックスを少し調整するだけでは、おそらくそれは必要ありません。

+0

だから、アプリでフィルタを使用して別のテーブルにデータを並べ替える方が良いと言っていますか?私の唯一の関心事は、ボトルネックを接続して、その後のデータベースからデータに到達することです。 2年が経ちましたか?私の計算が正しければ、年末にそのテーブルに21,000行のccaがあるはずです。 –

+0

別のテーブルよりもSQLでフィルタを使用するほうが*間違いなく*優れています。陽気な小さな21000行は "あなたもインデックスが必要ない"というような小さなものです。何百万行もあれば、もっと注意を払う必要がありますが、テーブルを分割する必要はないでしょう。 –

+0

ヒントと頭をありがとう、ありがとう=) –

関連する問題