如何在service层进行查询数据组合关联?

已知如下sql语句:

select * from a left join b on a.id=b.id
where a.x=1 and b.y=2;

这是个很常见的在db层连表查询,但如果db层不允许连表查询操作下,只能通过分别查询单表的方式进行查询,查询结果到达service层进行组合。

已知a,b表的数据量都较大,有没有较好的解决方案。

梳理:
1.不能在db层进行连表查询。
2.两表都有查询条件
3.查询结果需要两表数据组合
4.两表数据量都较大

阅读 5.9k
1 个回答

1:根据查询字段,添加合适的索引
2:在有效使用索引的情况下,查出a表的数据,然后再根据a表查出的数据去b表中批量获取数据,如果a查出的数据量很多,可以分批批量去查。

推荐问题