コンテキスト:
いくつかの一時的な結果をいくつかの一時的なテーブルに保存したいと思います。これらのテーブルは、時間の近くで発生する可能性のあるいくつかのクエリで再利用される可能性がありますが、ある時点で、私が使用している進化的アルゴリズムは、古いテーブルを必要としなくなり、新しいテーブルを生成し続ける可能性があります。それらのテーブルを使用して、場合によっては同時に、いくつかのクエリがあります。これらすべてのクエリを実行するのは1人のユーザーだけです。それがセッションなどのすべてを明らかにするかどうかはわかりませんが、それがどのように機能するかはまだわかりません。
目的:
私がやりたいのは、一時テーブルを作成し(まだ存在しない場合)、可能な限りメモリに保存し、ある時点で十分なメモリがない場合は、コミットされるテーブルを削除することです。 HDD(私はそれらが最も最近使用されないだろうと思います)。
例:
クライアントは、さまざまなパラメーターを使用してEMAのクエリを実行し、さまざまな係数を使用してそれらを集約します。各個人は、使用される係数が異なる可能性があるため、EMAのパラメーターは、遺伝子プールに残っているため、繰り返される可能性があります。しばらくすると必要ありません。より多くのパラメータを使用した同様のクエリがあり、遺伝的アルゴリズムがパラメータの正しい値を見つけます。
質問:
- それは「コミットドロップ時」の意味ですか?セッションとトランザクションについての説明を見たことがありますが、それらの概念を本当に理解していません。質問がばかげたらごめんなさい。
- そうでない場合は、Postgresにこれを実行させる簡単な方法を知っていますか?
回避策:
最悪の場合、メモリに保持できるテーブルの数を推測して、自分でLRUを実装しようとすることができるはずですが、Postgresが実行できるほど良くなることはありません。
どうもありがとうございます。