日期:2014-05-17  浏览次数:20954 次

数据库关联查询表顺序的影响,大表和小表的前后顺序有关系吗
确认一个问题,
比如有两张表   A,B     A的数据量很大,比如1KW条,B表只有1000条。
现在要关联查询这两张表   并只取100条记录
from   A,B   where   A.aid   =   B.aid;
from   A,B   where   B.aid   =     A.aid   ;
 
from   B,A   where   B.aid   =   A.aid;
from   B,A   where   A.aid   =   B.aid;  

这四条语句的结果会有不同吗,哪个性能更好点呢?谢谢!

------解决方案--------------------
9i以上是一样的 8不确定
------解决方案--------------------
使用cbo优化 优化器自动调整连接顺序
对表建立统计信息
------解决方案--------------------
小表放后面
------解决方案--------------------
小表放在最后 保险一点
如果 优化器不帮你自动匹配,小表放前面,效率就低了
------解决方案--------------------
不是一样的,涉及到全表扫描,小表放后面,这样快一些(如果没有索引的话)。
------解决方案--------------------

------解决方案--------------------
大表放前,小表放后
------解决方案--------------------
可以把反回结果集比较少的表,放在where子句的最后