当前位置: 代码迷 >> 综合 >> {LOOP | MERGE | HASH } JOIN
  详细解决方案

{LOOP | MERGE | HASH } JOIN

热度:62   发布时间:2023-12-22 06:54:37.0

表连接的三种方式
1.循环链接 loop join  消耗N的N次方
2.排序链接 merge join  排序后消耗2n
3.哈希链接 hash join   哈希后2n

 

一般情况下我们不需要指定表的连接方式,数据库引擎会选择消耗资源最小的连接方式,当我们用到表变量,然后用表变量链接,就可能会造成表链接方式不对而过分消耗资源

 

此时我们需要指定表连接方式

 

select count(*)
from @temp A ,@temp2 B
where A.a = B.a
option(LOOP  join)

 

select count(*)
from @temp A ,@temp2 B
where A.a = B.a
option(merge join)

 

select count(*)
from @temp A ,@temp2 B
where A.a = B.a
option(hash join)

  相关解决方案