标签: Database/Query/Builder.php
-
本文分析了同一条count(*)查询SQL在Navicat中仅需3秒,而在Laravel 9中执行却耗时60秒的性能差异问题。通过在容器Tinker命令行及程序中执行原生SQL进行验证,排除数据库连接因素,确认耗时仅3秒左右。最终排查发现性能瓶颈位于Laravel框架底层Builder.php的runPaginationCountQuery方法。由于暂不便修改框架底层实现,决定将查询条件改为使用where shipping_type in (1, 2)来规避问题,使执行时长降至3秒左右,符合预期。
