あなたの問題は、問題が異なっていることです。 ST_GeomFromTextは不変関数なので、出力は入力のみに依存します。これは、プランナがクエリの最初に一度実行できることを意味します。サブクエリを実行すると、あなたが最初になど、ディスクアクセスを意味し、ジオメトリをルックアップするために持っている意味は、クエリのために一度実行CPUの活動を少し、持っている、第二に、あなたはディスクルックアップを持っています。
だから、ある程度の答えは、あなたがそれで何をしているかに依存します。一般に、オプティマイザは、入力に応じて型変換などの処理を行いますが、設定に依存しないものは非常にうまく処理されると見なすことができます。
はそれについてこのように考えてみてください。
SELECT * FROM mytable WHERE my_geom = ST_GeomFromText(....);
これは、次の擬似コードのようなものに変換します:
private_geom = ST_GeomFromText(....);
SELECT * FROM mytable WHERE my_geom = private_geom;
次に、そのクエリが計画され、実行されます。
クエリの照合を避けるために往復を追加したくないのは明らかですが、ジオメトリを知っている場合はクエリ内でST_GeomFromText(....)
で指定することもできます。