バインド・パラメータを持つ問合せに対してexplain文を実行したいと考えています。バインドパラメータを持つPostgrSQLの準備クエリで「Explain」文を実行するにはどうすればよいですか?
EXPLAIN SELECT * FROM metasyntax WHERE id = $1;
私はこれを実行しようとすると、私は次のエラーを取得:たとえば
ERROR: bind message supplies 0 parameters, but prepared statement "" requires 1
を、私は、クエリの値を供給するために私を望んでいることを私に言っています理解しています。しかし、私は必ずしもその答えを知っているとは限りません。 Oracleなどの他のSQLダイアレクトでは、パラメータの値を指定する必要なく、Explainプランが生成されます。
実際の値にバインドせずにEXPLAIN PLANを取得することはできますか?ありがとう!
実行計画は、パラメータの値によって異なる場合があります。[例](http://dbfiddle.uk/?rdbms=postgres_9.6&fiddle=cd52792a97ce9c34bc3e9dfbce041292) – Abelisto
いいえ。オプティマイザは、パラメータに基づいてクエリプランを変更できます。 – Bohemian