+ -
当前位置:首页 → 问答吧 → 关于rownum=1的疑问

关于rownum=1的疑问

时间:2011-10-17

来源:互联网

请教高手们一个关于rownum=1的问题,例子:
select * from t1 
where exists(select 1 from t2 
  where t2.grbh=t1.grbh 
  and rownum=1);

t2表中的grbh有建索引,但不是主键,这种情况下,使用rownum=1和不使用rownum=1,在执行效率上是否有区别?

作者: NewJordan99   发布时间: 2011-10-17

有比较大的区别。

在select 1 from t2  
  where t2.grbh=t1.grbh  
这条语句中,即使grbh有索引,但是通过执行计划,可以查到,该索引根本上就不会用到。也就是,这条语句返回的记录可能会有很多条。

使用rownum=1后,该语句返回的值只有一条记录,使用exists效率也就得到提高。

作者: tiangtangcao   发布时间: 2011-10-17

尽量少查询无谓的返回集

作者: SKY_4K_PPM   发布时间: 2011-10-17

热门下载

更多