外连结性能问题

index created

select m., n. from table1 m,table2 n where m.col1=n.col1;
(xxxx rows selected in 1.000 seconds)

select m., n. from table1 m,table2 n where m.col1=n.col1(+);
(xxxx rows selected in 40.000 seconds)

!!!!

why?外连结查询慢40倍???请各位高手指点迷经?!!!!!!
---------------------------------------------------------------

外连接是会慢很多,至于究竟慢多少,取决于记录的多少、在表之间的分布

象你这样选取所有的字段、而且没有任何where条件的语句实际中并不常用,说明不了什么问题

查询结果一样不说明数据执行的查询路径或者连接路径相同,在INNER JOIN模式下,ORACLE不需要考虑M表中存在而在N中不存在的纪录(即左连接),效率肯定要比后者高

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus