atjiu / pybbs

更实用的Java开发的社区(论坛),Better use of Java development community (forum)
GNU Affero General Public License v3.0
1.84k stars 706 forks source link

用JsqlParserCountOptimize优化掉一些分页的COUNT查询里多余的JOIN #122

Closed wtune closed 4 years ago

wtune commented 4 years ago

描述

在分页时,有些COUNT查询里的JOIN是多余的,因为并不会影响数量。例如查询topic时:

SELECT 
  COUNT(1) 
FROM 
  topic t 
  LEFT JOIN user u ON t.user_id = u.id

LEFT JOIN user其实是多余的。

根据Mybatis-Plus的文档,这些情况可以用JsqlParserCountOptimize把不必要的JOIN给优化掉

pr见#121