選択したクエリのコストが100で、コストが(40 + 60)の2つのクエリを作成する別の方法があるとします。どちらも最終的には同じコストになります。
最も効果的な方法を知りたいです。
コストを無視します。これはチューニングの開始点ではなく、特定のSQLステートメントに最適なプランを選択するためにOracleが使用する内部ランキングにすぎません。コストを使用して2つの異なるSQLステートメントを比較し、どちらが優れているかを判断することはできません。つまり、コストが低いクエリよりも高速でリソースの使用量が少ない、コストが非常に高いクエリを作成できます。
クエリが2つに分割するのと同じくらい速い場合は、1つのSQLのままにします(ラウンドトリップが1つ少なくなります)。
この場合、両方のシナリオをテストする必要があります(1つのクエリ、100のコストと2つのクエリ、40 + 60のコスト)...各シナリオを少なくとも1時間または1日でクエリが実行する実行回数を試してください。各シナリオのテスト間にシステムフラッシュの変更(バッファーキャッシュと共有プール)を適用します。