対象のSQL文を“EXPLAIN ANALYZE”で実行し、以下の点を確認します。
VCIが利用されているか
VCIが利用されている場合、計画ノードに“Custom Scan (VCI…)”が表示されます。
並列数
“Allocated Workers”にSQL文実行時の並列数が表示されます。設計した並列数で動作していることを確認します。
レスポンス
“Execution time”で表示された実行時間が想定通りかを確認します。
以下に、EXPLAIN ANALYZEの出力結果例を示します。
EXPLAIN ANALYZE SELECT COUNT(*) FROM test WHERE x > 10000; QUERY PLAN ------------------------------------------------------------------------------------------------------------------- Custom Scan (VCI Aggregate) (cost=19403.15..19403.16 rows=1 width=0) (actual time=58.505..58.506 rows=1 loops=1) Allocated Workers: 4 -> Custom Scan (VCI Scan) using test_x_idx on test (cost=0.00..16925.00 rows=991261 width=0) (never executed) Filter: (x > 10000) Planning time: 0.151 ms Execution time: 86.910 ms (6 rows)
注意
VCIを利用した実行計画で出力されるコスト値は不正確な値が出力されます。VCIは、SQL文実行時の最良の実行計画の全体または一部を、VCIを利用した実行計画に置き換えることで動作します。置き換え対象の実行計画のコストが一定値(vci.cost_thresholdパラメタ)よりも低い場合は置き換えませんが、コストの再計算自体は行っていません。このため、元の実行計画のコスト値がそのまま出力されています。