こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Select文のパフォーマンスについて

Select文のパフォーマンスについて質問です。

(1)select * from table1 where col1='00001' and kbn in (1,2,3,4)
(2)select * from table1 where col1='00001' and (kbn = 1 or kbn = 2 or kbn = 3 or kbn = 4)

(1)と(2)ではどちらがパフォーマンスがよいのでしょうか?

SQLServer2008

投稿日時 - 2012-08-09 10:04:13

QNo.7634747

暇なときに回答ください

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

そのケースにのみに限って言えばコストは同じです。これは実行プランを表示してみればわかります。

通常はIN句を使うのは条件の値が外部にある場合や可変な場合、一致するものがない場合でも使用できるといった理由からです。
そうした場合は値の数や外部テーブルのインデックスの有無などでパフォーマンスやクエリのコストは変わってきます。

投稿日時 - 2012-08-09 11:06:44

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-
-広告-
-広告-