PostgreSQL:同じクエリでの複雑な中間結果の再利用
PostgreSQLの(8.4)は、私はいくつかのテーブルから様々な結果をまとめたビューを作成しています使用して(例えば、列を作成しa、b、cビュー内)、その後、私は(一緒に同じクエリでこれらの結果の一部を結合する必要があるなどa+b、a-b、(a+b)/c、...)、最終結果を生成するようにします。私が気づいているのは、同じクエリ内で実行された場合でも、中間結果が使用されるたびに完全に計算されることです。 毎回同じ結果が計算されるのを避けるためにこれを最適化する方法はありますか? これは、問題を再現する簡単な例です。 CREATE TABLE test1 ( id SERIAL PRIMARY KEY, log_timestamp TIMESTAMP NOT NULL ); CREATE TABLE test2 ( test1_id INTEGER NOT NULL REFERENCES test1(id), category VARCHAR(10) NOT NULL, col1 INTEGER, col2 INTEGER ); CREATE INDEX test_category_idx ON test2(category); -- Added after edit to this question CREATE INDEX test_id_idx …