在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 如何在service層進行查詢數(shù)據(jù)組合關(guān)聯(lián)?

如何在service層進行查詢數(shù)據(jù)組合關(guān)聯(lián)?

已知如下sql語句:

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

這是個很常見的在db層連表查詢,但如果db層不允許連表查詢操作下,只能通過分別查詢單表的方式進行查詢,查詢結(jié)果到達(dá)service層進行組合。

已知a,b表的數(shù)據(jù)量都較大,有沒有較好的解決方案。

梳理:
1.不能在db層進行連表查詢。
2.兩表都有查詢條件
3.查詢結(jié)果需要兩表數(shù)據(jù)組合
4.兩表數(shù)據(jù)量都較大

回答
編輯回答
風(fēng)畔

1:根據(jù)查詢字段,添加合適的索引
2:在有效使用索引的情況下,查出a表的數(shù)據(jù),然后再根據(jù)a表查出的數(shù)據(jù)去b表中批量獲取數(shù)據(jù),如果a查出的數(shù)據(jù)量很多,可以分批批量去查。

2017年5月17日 16:57