数据库关联查询表顺序的影响,大表和小表的前后顺序有关系吗
确认一个问题,
比如有两张表 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子句的最后