Bullet:关于ORACLE中的HASH JOIN的参数变化

Oracle在7.3引入了hash join。

但是在Oracle 10g及其以后的Oracle数据库版本中,优化器,实际是CBO,也是因为HASH JOIN仅适用于CBO,在解析目标SQL时是否考虑HASH JOIN受到隐含参数_hash_join_enabled,该参数在Oracle 10g以前的版本中的参数名为hash_join_enabled,非隐含参数。

_hash_join_enabled的默认参数值为TRUE,表示允许CBO在解析目标SQL时考虑HASH JOIN。

即便是该参数为FALSE,在使用HINT USE_HASH依然可以让CBO在解析目标SQL时考虑HASH JOIN。也即USE_HINT的优先级比参数_hash_join_enabled的优先级要高。

posted @ 2017-02-16 13:14  syksky  阅读(410)  评论(0编辑  收藏  举报