Oracle如何决定使用哪种连接类型

时间:2016-01-29 02:37:27

标签: sql oracle performance join

我有两张桌子让表格表格b 表a 存储如6G和表b 1G

当我使用表格内联接表b时,解释计划使用嵌套循环并花费3分钟来完成,但我们的硬件足够用于散列连接。所以我使用提示强制它使用哈希和查询成本,如1分钟。

我的问题是:Oracle如何决定这个,解释来自哪里? 在内部联接中,如果正确的选择是Nest Loop join。 Oracle如何决定加入哪个表。我的意思是如果加入顺序发生变化会有成本差异,Oracle会如何做出正确的决定?

如果Oracle选择上面的错误,那么使用Nest Loop如何使其正确?我的意思是不要使用提示强制它,只是改变一些东西来帮助它做出正确的决定

几个月前我被问过这个问题,我用Google搜索并没有任何帮助

0 个答案:

没有答案