并行Semi-Join性能提升
对于选择Semi-Join策略的查询,PolarDB对Semi-Join所有策略实现了并行加速,通过拆分Semi-Join的任务,多线程模型并行运行任务集,强化去重能力,使查询性能得到了显著的提升,以Q20为例。SELECT
s_name,
s_address
FROM
supplier, nation
WHERE
s_suppkey IN (
SELECT
ps_suppkey
FROM
partsupp
WHERE
ps_partkey IN (
SELECT
p_partkey
FROM
part
WHERE
p_name LIKE '[COLOR]%'
)
AND ps_availqty > (
SELECT
0.5 * SUM(l_quantity)
FROM
lineitem
WHERE
l_partkey = ps_partkey
AND l_suppkey = ps_suppkey
AND l_shipdate >= date('[DATE]’)
AND l_shipdate < date('[DATE]’) + interval ‘1’ year
)
)
AND s_nationkey = n_nationkey
AND n_name = '[NATION]&#