プランナの操作方法
あんまり本番環境で使える機能ではないが、
set XXXX to on set XXXX to off
でプランナを操作できる。
PostgreSQLが納得いかないプランを吐くときに、setコマンドで結合方式を無理やり変えて実行してみると、
プランナが正しい判断をしていることを思い知ることができる。
例:
ハッシュ結合を無効にする set ENABLE_HASHJOIN to off ソートマージ結合を無効にする set ENABLE_MERGEJOIN to off シーケンシャルスキャンを無効にする ... といっても、シーケンシャルスキャンは完全には抑止できない。 「他にやり方があればそっちを優先する」ぐらいの意味。 set ENABLE_SEQSCAN to off