回答編集履歴

2

追記を追加

2023/02/12 13:04

投稿

kirissaki
kirissaki

スコア41

test CHANGED
@@ -37,3 +37,6 @@
37
37
 
38
38
  Time: 29.445 ms
39
39
  ```
40
+
41
+ ※追記
42
+ 問題としては、上のようなサンプルだと大丈夫なのですが、個人で開発している大規模なテーブルの場合は、vacuum full,vacuum analyzeしないと最適な実行手順(SELECT時にパーティションテーブルを指定する場合は関係なし)に行かないみたいで、、大量のデータを入れるようにvacuum autoなどの設定を見直しに注意したほうがいいですね・・・

1

コードブロック内に記入

2023/02/12 12:56

投稿

kirissaki
kirissaki

スコア41

test CHANGED
@@ -1,4 +1,5 @@
1
1
  関数を利用せず、サブクエリで利用したところ早く取得することができました。
2
+ ```sql
2
3
  CREATE OR REPLACE VIEW V3_TEST AS
3
4
  SELECT
4
5
  id,
@@ -7,6 +8,7 @@
7
8
  T_TEST
8
9
  WHERE
9
10
  partition_key = (SELECT partition_key FROM T_PCTL WHERE entity_name = 'T_TEST' AND status = 'A00');
11
+ ```
10
12
 
11
13
  ```sql
12
14
  postgres=# EXPLAIN ANALYZE SELECT * FROM V3_TEST;