USE_HASH hint的问题

本文解析了SQL提示USE_HASH(table[table]...)的含义及其在不同场景下的应用方式。当指定单个表时,表示若该表参与连接操作,则优先考虑使用Hash Join算法;当指定多个表时,意味着任意两表间均可尝试采用Hash Join。文章还澄清了一些常见的理解误区。

USE_HASH( table [table]... ) */
这里面USE_HASH ( table [table]... )参数可以是一个表,也可以是多个表,怎么理解?
如果是USE_HASH(table1),那这个table1跟谁去hash join?
如果是USE_HASH(table1,table2,table3),又怎么理解?是不是table1和table2先hash_join,然后结果集再和table3进行hash_join。

use_hash(t1) 表示如果和t1连接可以使用hash_join就是用hash_join,至于什么和t1连接(表,结果集...)没有限定~

use_hash(t1 t2 t3 ... tn) 同样着这个意思,果和t1连接可以使用hash_join就是用hash_join,如果和t2连接可以使用hash_join就是用hash_join,....
如果和t2连接可以使用hash_join就是用hash_join

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15142212/viewspace-677586/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15142212/viewspace-677586/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值