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