哪个是oracle查询最快的?

时间:2012-01-15 20:02:52

标签: sql oracle

select * from customers where id = 1;
select * from customers where id = 2;

select * from customers where id in(1,2);

哪个更快?

3 个答案:

答案 0 :(得分:5)

第一个实际上是两个语句,导致您向数据库进行两次往返。 第二个很可能会更快,因为它只是一个陈述。

答案 1 :(得分:0)

这真的是你想要确定的吗?您是在问一次返回两行还是两次返回一行是否更快?如果这是问题,那么我同意评论 - 尝试,测量和比较。

如果你试图使这种事情变得有效,那么你应该考虑使用绑定变量。如果你的问题确实意味着它所说的话,那么这里可能会有任何答案。

答案 2 :(得分:0)

任何“更快”的问题总是取决于数据库的细节。我真的没有任何东西可以添加到plhmhck和MJB关于你正在谈论2个查询与1个查询的事实。

但请注意,优化程序通常会(始终?)将WHERE id IN (1,2)重写为WHERE (id = 1 OR id = 2)