1.使用数据库LEFT JOIN来实现,在一次数据库查询中查出多条数据,但是要对结果进行分组组装。但是对于分页支持不好,需要自定义分页插件,现有解决思路如下:
编写SQL时,将主表的条件写入到WHERE条件中,将所有LEFT JOIN的条件写到ON中,使用AND来拼接多个条件,然后编写分页插件识别连接查询,将主表外包裹一层子查询,子查询中使用LIMIT关键字来做分页。
2.先将主表中的数据查询出来,然后将集合ID插入到数组中,根据集合ID数组使用SQL的IN关键字再做一次查询,然后在内存中进行拼装。有几个集合就多几次查询。
如何解决查询N+1问题
最新推荐文章于 2024-04-09 16:07:18 发布