分布式数据库中的半连接

表连接在数据库中是很常见的操作,在分布式数据库中一般如何实现呢?
在分布式环境下,网络IO的速度远远小于CPU操作的速度,因此减小网络传输量能极大提高性能,可以采用半连接的方法
数据库的exists和in查询就是一种半连接,即在第二张表里找到可以连接的数据后,立即返回第一张表里的数据,在分布式环境下,同样可以采用这种方法.

比如server1上有分片T,在server2上有分片S(分片可以理解为表的分区),要做T和S在T.b和S.b的连接

T S
a b b c
1 2 2 3
3 4 3 5
5 6 4 3
4 8 4 6
半连接的操作过程为
1 在server2上求S.b的不重复集合S'(2,3,4)
2 把S'传到传到server1上
3 做T和S'的半连接,结果为T'
T'
a b1 b2
1 2 2
3 4 4

4 把T'传到server2上,进行T'和S的连接,得到最终结果
a b1 b2 c
1 2 2 3
3 4 4 3
3 4 4 6
  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值