対象のSQL文を“EXPLAIN ANALYZE”で実行することで、並列検索が動作したかを確認することができます。
EXPLAIN文の出力結果に実行ノード“Parallel Seq Scan”が出力されているかを確認します。
以下に、EXPLAIN ANALYZEの出力結果例を示します。
postgres=# EXPLAIN ANALYZE select * from test_time where f1 = 0; QUERY PLAN -------------------------------------------------------------------------------------------------------------------------- Gather (cost=1000.00..23566.58 rows=1 width=8) (actual time=1079.126..1190.999 rows=100 loops=1) Number of Workers: 7 Allocated Workers: 7 -> Parallel Seq Scan on test_time (cost=0.00..22566.48 rows=1 width=8) (actual time=10.102..128.702 rows=12 loops=8) Filter: (f1 = 0) Rows Removed by Filter: 1249988 Planning time: 0.329 ms Execution time: 1192.455 ms (8 rows)
“Parallel Seq Scan”が表示され、実行時の並列度も確認できます。
また、“EXPLAIN”により、SQL文のみの評価として、並列検索が選択されるかを確認することができます。
postgres=# EXPLAIN select * from test_time where f1 = 0;
QUERY PLAN
----------------------------------------------------------------------------
Gather (cost=1000.00..23566.58 rows=1 width=8)
Number of Workers: 7
Allocated Workers: 0
-> Parallel Seq Scan on test_time (cost=0.00..22566.48 rows=1 width=8)
Filter: (f1 = 0)
(5 rows)