2
select * from Table_foo where column_bar = 'x'
select * from Table_foo where column_bar in ('x')
這兩個查詢的表現是否類似?「列IN(X)」與「列= X」 - 是否影響查詢性能?
select * from Table_foo where column_bar = 'x'
select * from Table_foo where column_bar in ('x')
這兩個查詢的表現是否類似?「列IN(X)」與「列= X」 - 是否影響查詢性能?
是的,Oracle很聰明,看到沒有區別,並且會使用相同的訪問路徑。
如果有疑問,請查看執行計劃。
以我的經驗,他們應該表現一致。
另請注意,您應該使用撇號而不是雙引號。
您使用雙引號會使Oracle認爲您指的是x列,而不是字符串字面值'x'。 – bdares 2011-12-16 07:15:17
謝謝,現在修復。 – MLN 2011-12-16 07:17:31