我知道oracle的CBO优化器有三种表的连接方式 ,sort merge join , nested loops , hash join ,但我不知道oracle主要是跟据什么来觉定表的连接方式比如说有的sql语句表连接是用的sort merge join,但是在网上不是说sort merge join比较慢吗,那为什么还要用sort merge join的方式来连接? 我还看到说用sort merge join连接主要是因为表的索引不够,请问是这样的吗? 小弟先谢过了
调试欢乐多
但是cost的计算并不一定全是正确的,存在出错的可能。所以有时需要我们去干预。
“在缺乏数据的选择性或者可用的索引时,或者两个源表都过于庞大(所选的数据超过表记录数的5%)时,排序合并连接将比嵌套循环连更加高效。”
先感谢下