SQL自动优化
SQL优化说明
mybatis-mp 会对sql进行自动优化,主要是对 left join,order by优化
left join 最好是1对1的关系,否则需要自己关闭JOIN SQL优化,否则会导致count不准
查询SQL优化
去除无用left join
count SQL优化
去除无用left join (自动判断是否有效)
去除无用的order by (自动判断是否有效)
优化union 查询 (优化 left join 和 order by,自动判断是否有效)
如果如何关闭 SQL优化?
目前有2个开关,1个是 join 优化开关 1个是 orderBy 优化开关;具体 看 optimizeOptions 方法;也可以直接关闭全部 disableAll
java
Pager<SysUser> pager=QueryChain.of(sysUserMapper)
.like(SysUser::getUserName,'abc')
//方式1:指定部位是否优化
.optimizeOptions(optimizeOptions -> optimizeOptions.optimizeJoin(false).optimizeOrderBy(false))
//方式2:全部禁止
.optimizeOptions(optimizeOptions -> optimizeOptions.disableAll())
.paging(Pager.of(1));