短视频
2026/5/19大约 2 分钟面试题面试题
来源:短视频
分库分表大家都知道!数据量多了我就拆!拆表!拆库以提升查询效率, 那拆完后如果要查询几张不同库的表 ,那如何进行表关联查询呢???
哈喽大家好我是徐庶, 给大家讲讲分库分表下,如何进行表关联查询,需要本视频文字版的同学直接在评论区扣666.
我给大家提供3种常见的解决方案:
第1种:** 直接数据冗余: 这是我最推荐的也是性能比较好的**, 不过要注意修改数据后的一致性,当数据修改时可以用MQ做关联表的冗余数据修改。
第2种: ** 应用层查询: 说白了就是在应用中分别查询不同表的数据然后汇总**。但是会增加应用层的复杂性。
第3种: 中间件支持 :如果你用了 ShardingSphere 他本身就 提供了关联表的功能,专门用来解决多表关联查询。
只要配置一下关联规则。当进行多表关联查询时,ShardingSphere就会根据这个关联规则,自动将分片键相同的表关联起来进行查询,从而提高查询的效率。
其实如果按照业务进行拆分数据库, 合理的设计下极少情况会出现夸库关联表查询。 哪怕出现 如果对性能要求高的情况, 我还是建议用数据冗余得方式, 如果对性能要求不高并且用了ShardingSphere就直接用它自带的关联表功能就行!。 所以拆分是 一项 对系统架构设计要求极高的一个活儿。 拆的好的系统利于合理的分工, 可以更有针对性对不同业务特性的模块进行性能优化。 拆得不好反而会增加复杂性和开发成本。 如果对架构这块有需要学习的同学, 可以加我联系方式。