数据库有个表有200W数据,查询数据如下select a.*,b.Name from A a  left join B b on (a.Code=b.Code) 该语句通过plsql查询,因为plsql查询默认是查询出前几条的,但是发现,查询速度奇慢,于是改为如下:select a.*,b.Name from A a  left join B b on (a.Code=b.Code) where rownum=1或者select * from ( select a.*,b.Name from A a  left join B b on (a.Code=b.Code) ) a where rownum=1查询需要11.2秒,太慢了,但是如果这样查询select a.*,b.Name from A a  left join B b on (a.Code=b.Code) where code=1 and rownum=1也就是加了一个条件,就非常快,但是为什么不加条件仅仅加rownum查前几条这么慢呢???另外还发现,如果把left join 换为inner join,以上问题都没有,非常快,但是这个地方不能换成inner join,哪位老大高手说说原因呀,为什么left join 会这么慢呢????为什么加rownum也不行呢????