クエリーオプティマイザはクエリーを「入力」とみなし、この章に記述したプロセスを経て実行計画を「出力」として生成します。私はよく、クエリー最適化をGPSのナビゲーションと対比して例えます。
住所は目的地です。どのように行くかを指定しなくても、ナビゲーションシステムが考えうる経路について評価し、一番効率的に目的地に到着する経路をアドバイスしてくれることでしょう。
SQL言語は「宣言的」であるという点で、住所とにています。どのようにするかという過程ではなく、最終的な状態を指定します。データベースシステムには、多くのインデックス(そして多くのテーブルとの結合)があるため、ナビゲーションシステムと同じように、同じ結果をえられる多くの方法があります。
このアナロジーのしめくくりとして、GPSのナビゲーションが「常に絶対に一番速い道を案内してくれる」わけではないのと同じことが、クエリー最適化についてもいえます。全ての道に交通量のデータがあるとは限らないのと同様に、オプティマイザも不完全なモデルに対して処理をする必要があります。熟練した方にとっては、チューニングする必要が生じる状況が発生しえるわけです。