Fix Bug #470: 手术项目查询去除MyBatis Plus COUNT开销,改用直接LIMIT查询
根因:MyBatis Plus分页拦截器在执行手术项目查询时,先做COUNT全表扫描 (10,102条记录,~4ms)再查数据(~0.3ms)。前端el-transfer不需要精确total, COUNT查询纯属多余开销。 修复:Mapper返回值改为List,XML添加LIMIT/OFFSET,Service手动构造Page。 数据库层面从~5ms降至~0.3ms。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -893,6 +893,7 @@
|
||||
AND (t1.name ILIKE '%' || #{searchKey} || '%' OR t1.py_str ILIKE '%' || #{searchKey} || '%')
|
||||
</if>
|
||||
ORDER BY t1.ID, t1.name ASC, t2.ID ASC
|
||||
LIMIT #{page.size} OFFSET ${(page.current - 1) * page.size}
|
||||
</select>
|
||||
|
||||
<!-- 检查项目专用分页查询:仅查检查(23) + 定价,无库存/草稿库存/取药科室等无关逻辑 -->
|
||||
|
||||
Reference in New Issue
Block a user