1 个回答
Doris的Join优化策略有:
1、Broadcast Join,适用于小表(右表)数据量小(建议 <100MB)
1、Broadcast Join,适用于小表(右表)数据量小(建议 <100MB)
SELECT /*+ BROADCAST(r) */ l.*, r.name
FROM large_table l JOIN small_table r ON l.id = r.id;
2、Shuffle Join,适用于两表均较大,且关联键分布均匀。SELECT /*+ SHUFFLE */ l.*, r.name
FROM large_table l JOIN large_table2 r ON l.id = r.id;
3、Colocate Join,适用于两表已按相同分布方式分桶(同一 Colocation Group)-- 建表时指定相同分桶方式和 Colocation Group
CREATE TABLE tbl1 (id INT, ...)
DISTRIBUTED BY HASH(id) BUCKETS 8
PROPERTIES ("colocate_with" = "group1");
CREATE TABLE tbl2 (id INT, ...)
DISTRIBUTED BY HASH(id) BUCKETS 8
PROPERTIES ("colocate_with" = "group1");
4、Bucket Shuffle Join,适用于左表大,右表中等大小(右表分桶数较少)发布于:2周前 (05-22) IP属地:
我来回答
您需要 登录 后回答此问题!