首页 新闻 会员 周边

跨库查询放在Java代码里实现

0
悬赏园豆:5 [已解决问题] 解决于 2021-12-22 14:50

一个模块对应一个库,模块不允许跨库查询,模块A数据需要模块B下的数据库表的值,根据相关id关联。
我是在模块A下面的数据循环,再用id查模块B,把属性再set进去,感觉这样好耗费数据库性能。前辈们,不允许sql跨库查询,但需要跨库的数据怎么写性能会好一点。

15年的夏天的主页 15年的夏天 | 初学一级 | 园豆:47
提问于:2021-12-20 10:11
< >
分享
最佳答案
1

两个方案供参考
1.通过id批量查一次(如in)模块B,然后拼接到模块A中
2.冗余相关数据到模块A中表字段(涉及到字段数据同步更新问题)

收获园豆:3
KingMi | 小虾三级 |园豆:1344 | 2021-12-21 15:39
其他回答(2)
1

ElasticSearch + 新建一个服务?

快乐的凡人721 | 园豆:3969 (老鸟四级) | 2021-12-20 11:59
1

就像楼上说的两个方案,推荐从A中拿ids,通过ids查询B再补充数据。

感觉这样好耗费数据库性能

正好相反,不允许跨库查询保证了两个schema的独立,如果压力变大后,可以A一个数据,B一个数据进行独立部署,在大流量下比A和B部署在统一数据库会有更多的吞吐量。

收获园豆:2
8号位 | 园豆:596 (小虾三级) | 2021-12-22 13:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册