いいえ、まったく同じ方法で記述されている場合、計算は2回実行されません。ただし、アプリケーションのパフォーマンスを向上させることが目的の場合は、この小さな詳細に集中するのではなく、全体像を確認することをお勧めします。これにより、最大で2倍の違いが生じる可能性があります。さらに深刻な問題は、クエリがインデックスの効率的な使用を妨げ、フルスキャンが発生することです。
ジオメトリタイプを使用して
データモデルを変更できない場合でも、最初に境界ボックスチェックを使用してパフォーマンスを向上させることができます。たとえば、WHERE x BETWEEN 10 AND 20 AND y BETWEEN 50 AND 60
。バウンディングボックスのチェックではインデックスを使用できますが、R-Treeインデックスはジオメトリタイプでのみサポートされているため、このタイプのクエリにはそれほど効率的ではない標準のB-Treeインデックスを使用する必要があります(ただし、現在行っていることよりも優れています。