一个模块对应一个库,模块不允许跨库查询,模块A数据需要模块B下的数据库表的值,根据相关id关联。
我是在模块A下面的数据循环,再用id查模块B,把属性再set进去,感觉这样好耗费数据库性能。前辈们,不允许sql跨库查询,但需要跨库的数据怎么写性能会好一点。
两个方案供参考
1.通过id批量查一次(如in)模块B,然后拼接到模块A中
2.冗余相关数据到模块A中表字段(涉及到字段数据同步更新问题)
ElasticSearch + 新建一个服务?
就像楼上说的两个方案,推荐从A中拿ids,通过ids查询B再补充数据。
感觉这样好耗费数据库性能
正好相反,不允许跨库查询保证了两个schema的独立,如果压力变大后,可以A一个数据,B一个数据进行独立部署,在大流量下比A和B部署在统一数据库会有更多的吞吐量。