Java猿社区—ShardingSphere之广播表与绑定表

本文主要介绍了ShardingSphere中的广播表和绑定表概念。广播表用于存放不需要分片的小型数据,如省份信息,每个节点都有相同副本。绑定表则是分片规则一致的主表和子表,可以避免联表查询时出现笛卡尔积,提高查询效率。文章还提供了配置广播表和绑定表的方法。
摘要由CSDN通过智能技术生成

Java猿社区—ShardingSphere之广播表与绑定表

参考:
ShardingSphere中文文档

概念

逻辑表:水平拆分的数据库(表)的相同逻辑和数据结构表的总称。例:订单数据根据主键尾数拆分为10张表,分别是t_order_0到t_order_9,他们的逻辑表名为t_order。
真实表:在分片的数据库中真实存在的物理表。即上个示例中的t_order_0到t_order_9。
数据节点:数据分片的最小单元。由数据源名称和数据表组成,例:ds_0.t_order_0。

绑定表——联表查询防止出现笛卡尔积现象

绑定表: 指分片规则一致的主表和子表。
例如:t_order表和t_order_item表,均按照order_id分片,则此两张表互为绑定表关系。绑定表之间的多表关联查询不会出现笛卡尔积关联,关联查询效率将大大提升。如果SQL为:

SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.order_id in (10, 11);

在不配置绑定表关系时,假设分片键order_id将数值10路由至第0片,将数值11路由至第1片,那么路由后的SQL应该为4条,它们呈现为笛卡尔积:

SELECT i.* FROM t_order_0 o JOIN t_order_item_0 i ON o.order_id=i.order_id WHERE o.order_id in (10
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值