数据库关联查询表顺序的影响,大表和小表的前后顺序有关系吗

时间:2021-04-22 14:51:13
确认一个问题,
比如有两张表 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; 

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

12 个解决方案

#1


9i以上是一样的 8不确定

#2


any other ?

#3


使用cbo优化 优化器自动调整连接顺序
对表建立统计信息

#4


cbo优化是什么东东?
是一种sql语句优化器吗?
还是oracle自带的工具

#5


“9i以上是一样的 8不确定”

没有人给我一个确定的答案吗?
谢谢!

#6


小表放后面

#7


"小表放后面"
目前为止这个答案比较确定一点

#8


小表放在最后 保险一点
如果 优化器不帮你自动匹配,小表放前面,效率就低了

#9


不是一样的,涉及到全表扫描,小表放后面,这样快一些(如果没有索引的话)。

#10


#11


大表放前,小表放后

#12


可以把反回结果集比较少的表,放在where子句的最后

#1


9i以上是一样的 8不确定

#2


any other ?

#3


使用cbo优化 优化器自动调整连接顺序
对表建立统计信息

#4


cbo优化是什么东东?
是一种sql语句优化器吗?
还是oracle自带的工具

#5


“9i以上是一样的 8不确定”

没有人给我一个确定的答案吗?
谢谢!

#6


小表放后面

#7


"小表放后面"
目前为止这个答案比较确定一点

#8


小表放在最后 保险一点
如果 优化器不帮你自动匹配,小表放前面,效率就低了

#9


不是一样的,涉及到全表扫描,小表放后面,这样快一些(如果没有索引的话)。

#10


#11


大表放前,小表放后

#12


可以把反回结果集比较少的表,放在where子句的最后