dolphindb中的分布式表连接是不是连接必须包含所有分区列的限制?

dolphindb中的分布式表连接是不是连接必须包含所有分区列的限制?如果有,对于数仓,分布式表连接怎么办?

请先 登录 后评论

1 个回答

Xinhai Tang

1.30.13版本以前,分布式表连接有以下限制:

1. 如果左表和右表都是分布式表:

两个表必须位于同一个数据库中。

连接列必须包含所有分区列。连接列亦可包含非分区列。

不支持cross join.

2. 如果只有右表是分布式表,则只能使用equal join.

3. 如果左表是分布式表 ,右表是维度表或内存表,则不支持full join. 当分布式表与维度表或内存表连接时,系统会将维度表或内存表复制到分布式表所在的各个节点上执行连接操作。 如果本地表数据量非常庞大,表的传送将非常耗时。 为了提高性能,系统在数据复制之前用where条件尽可能多地过滤内存表。如果右表数据量太大,会影响查询速度,所以在实际应用中,右表的数据量最好比较小。

4. 分布式表可以与任意数据库中的维度表进行连接。

1.30.13及以后的版本会放开这些限制条件
请先 登录 后评论