0


Sharing-jdbc分库分表功能

ShardingSphere 官方文档

ApacheShardingSphere通过提供多样化的表类型,适配不同场景下的数据分片需求。

逻辑表

相同结构的水平拆分数据库(表)的逻辑名称,是SQL中表的逻辑标识。例如订单数据根据主键尾数拆分为10张表分别是t_order_0 到 t_order_9他们的逻辑表名为t_order。

真实表

在水平拆分的数据库中真实存在的物理表,即上个示例中的t_order_0到t_order_9.

绑定表

指分片规则一致的主表和子表。 例如t_order表和t_order_item表是主表和字表关系,两张表都是按照order_id做数据存储分片,这样的两张表就可以配置为绑定表。

绑定表的配置是为了解决关联查询出现笛卡尔积的问题,进而提升查询性能。

举例说明,如果库中t_order表分为t_order_0和t_order_1两个分表,查询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路由至t_order_0,将数值11路由至t_order_1,那么路由后的真实SQL应该为4条,它们呈现为笛卡尔积。

SELECT i.* FROM t_order_0 o JOIN t_order_item_0 i ON
标签: java 数据库 github

本文转载自: https://blog.csdn.net/qq_29569183/article/details/128727721
版权归原作者 WannaRunning 所有, 如有侵权,请联系我们删除。

“Sharing-jdbc分库分表功能”的评论:

还没有评论