• ベストアンサー

WHERE句の条件の記述の順序

PRIMARY KEYとINDEXがテーブルに設定されている場合、 検索条件に記述する順番はどのようになるのでしょうか? 下記のテーブルがあり、SELECT文をつくろうと 考えています。 テーブル:foo 項目  PRIMARY KEY  INDEX ----------------------------------- a 1 b 2 1 c 3 d 2 (1)PRIMARY KEYを優先してWHERE句の順番を決める↓ SELECT * FROM foo WHERE a = "AAA" AND b = "BBB" AND c = "CCC" AND d = "DDD" (2) それともINDEXが設定されている項目を先に記述する↓ SELECT * FROM foo WHERE b = "BBB" AND d = "DDD"   AND a = "AAA" AND c = "CCC" (1)と(2)ではどちらの性能がよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

規格的には、そのような記述はないと思うので、 (1)や(2)で違いが出るとしても、 処理系依存だと思いますので、一概には言えないと思います。(実験してみる価値はあると思う)

その他の回答 (1)

回答No.2

オラクルのオプティマイザは、それほど単純な理由で、 索引の利用可否を判断しません。 使うオプティマイザの種類と表/索引の状態により 判断します。 >(1)と(2)ではどちらの性能がよいのでしょうか? (1),(2)ともに同じ結果になるかと思います。

関連するQ&A