分组、合并,这里主要是指sql语句中的 group by 和 union 操作。
通过分组、合并提示,可以强制sql server优化器采用特定的分组、合并算法。
(1)分组group by提示
分组主要有 hash、order 两种算法。
这里的hash算法,和 关联提示中的hash算法,是相类似的,只不过这里通过hash算法不是用来join表,而是用来分组、去重数据的。
order 算法,也就是通过排序来分组、去重,比如:distinct 去重。
(2)合并union提示
union 是用来合并数据的,有 union all 不去重、union 去重,共两种。
合并有 concat,hash,merge 三种算法。
其中,hash、merge类似于join表时的 hash、merge 算法,对应 union 操作。
concat是串连的union,也就是把数据以串行的方式,合并在一起,对应 union all 操作。