mybatis和SQL嵌套子查询的坑

最近碰到了一个生产问题.
经过分析,发现一次请求调用,执行了很多次的SQL查询.
是因为在mybatis中用了嵌套查询的写法,照成了该问题.

原因是返回的数据要求格式如下
class A{
XXX a1
xxxx a2
List list
}

开发人员就先查询出满足的a1和a2记录,然后为了省事,在mybatis中写返回值的resutlMap的时候,
就用了嵌套查询




</>

这种写法在a1 a2返回记录数不多的时候没有问题,但是数据量一大,就照成有多少行记录,就要执行多少次SQL,要慎用这种情况.在外层要对a1 a2的返回记录数做Limit n.
不能用于全量导出这种没有Limit的场景.

发布了331 篇原创文章 · 获赞 51 · 访问量 44万+

猜你喜欢

转载自blog.csdn.net/y41992910/article/details/105105510