- ベストアンサー
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)ではどちらの性能がよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
規格的には、そのような記述はないと思うので、 (1)や(2)で違いが出るとしても、 処理系依存だと思いますので、一概には言えないと思います。(実験してみる価値はあると思う)
その他の回答 (1)
- k_o_r_o_c_h_a_n
- ベストアンサー率55% (526/942)
オラクルのオプティマイザは、それほど単純な理由で、 索引の利用可否を判断しません。 使うオプティマイザの種類と表/索引の状態により 判断します。 >(1)と(2)ではどちらの性能がよいのでしょうか? (1),(2)ともに同じ結果になるかと思います。