Skip to content

什么是 ShardingSphere 的关联表?

ShardingSphere提供了关联表的功能,主要解决在进行多表关联查询时,容易出现的查询效率太低的问题。

具体来说,关联表定义了一种映射关系,将不同分片表的某些字段对应起来。这样,在进行多表关联查询时,ShardingSphere就可以通过这个映射关系,将查询操作转换成分片表的本地查询操作。这样就可以避免跨节点、跨数据库的查询,提高了查询效率。

例如,如果有两个表:订单表(t_order)和订单情表表(t_order_item),它们之间存在一个外键关联关系。我们可以定义一个关联规则,将这两个表关联起来。当进行多表关联查询时,ShardingSphere就会根据这个关联规则,自动将分片键相同的表关联起来进行查询,从而提高查询的效率。

更新: 2023-09-11 13:29:05
原文: https://www.yuque.com/tulingzhouyu/db22bv/mvcwgxi3x1q4l7zn

短视频

分库分表大家都知道!数据量多了我就拆拆表拆库以提升查询效率, 那拆完后如果要查询几张不同库的表 ,那如何进行表关联查询呢???

哈喽大家好我是徐庶, 给大家讲讲分库分表下,如何进行表关联查询,需要本视频文字版的同学直接在评论区扣666.

我给大家提供3种常见的解决方案:

第1种:** 直接数据冗余**: 这是我最推荐的也是性能比较好的, 不过要注意修改数据后的一致性,当数据修改时可以用MQ做关联表的冗余数据修改。

第2种: ** 应用层查询**: 说白了就是在应用中分别查询不同表的数据然后汇总。但是会增加应用层的复杂性。

第3种: 中间件支持 :如果你用了 ShardingSphere 他本身就 提供了关联表的功能,专门用来解决多表关联查询。

只要配置一下关联规则。当进行多表关联查询时,ShardingSphere就会根据这个关联规则,自动将分片键相同的表关联起来进行查询,从而提高查询的效率。

其实如果按照业务进行拆分数据库, 合理的设计极少情况会出现夸库关联表查询哪怕出现 如果对性能要求高的情况, 我还是建议用数据冗余得方式, 如果对性能要求不高并且用了ShardingSphere就直接用它自带的关联表功能就行!。 所以拆分是 一项 对系统架构设计要求极高的一个活儿拆的好的系统利于合理的分工, 可以更有针对性对不同业务特性的模块进行性能优化拆得不好反而会增加复杂性开发成本。 如果对架构这块有需要学习的同学, 可以加我联系方式。

更新: 2024-06-03 15:32:10
原文: https://www.yuque.com/tulingzhouyu/db22bv/dbhi0m0rhwubmcg3