两个不同数据库之间的两张表格如何进行关联查询

现在有两个分区库 DB1和DB2(分区方法不同,在不同的数据库中),在DB1中有表T1, 在DB2中有表T2,两张表有相同字段(id), 现在想把T1,T2两张表关联起来查询一些数据,如何实现?
谢谢

请先 登录 后评论

1 个回答

Juntao Wang

不同库的数据表,目前不支持直接关联,需要先加载其中一张到内存表后再关联。

分布式表连接时,需要遵循以下规则:

  1. 如果左表和右表都是分布式表:
  • 两个表必须位于同一个数据库中。
  • 连接列必须包含所有分区列。连接列亦可包含非分区列。
  • 不支持cross join。
  1. 如果只有右表是分布式表,则只能使用equal join。
  2. 如果左表是分布式表 ,右表是维度表或内存表,则不支持full join。当分布式表与维度表或内存表连接时,系统会将维度表或内存表复制到分布式表所在的各个节点上执行连接操作。 如果本地表数据量非常庞大,表的传送将非常耗时。 为了提高性能,系统在数据复制之前用where条件尽可能多地过滤内存表。如果右表数据量太大,会影响查询速度,所以在实际应用中,右表的数据量最好比较小。
  3. 分布式表可以与任意数据库中的维度表进行连接。

详见Dolphindb用户手册

请先 登录 后评论