一个虚拟字段是另外两个虚拟字段的比值,设置好后测试功能等很久显示请求超时

ROUND(

 ((

 SELECT

   ROUND(

     IFNULL(

       SUM(

         (

           CASE

             WHEN fop.production_shift = 3 AND fop.class = fwp.shift_schedule_1 THEN IFNULL(fwp.zero, 0)

             WHEN fop.production_shift = 1 AND fop.class = fwp.shift_schedule_2 THEN IFNULL(fwp.day, 0)

             WHEN fop.production_shift = 2 AND fop.class = fwp.shift_schedule_3 THEN IFNULL(fwp.middle, 0)

             ELSE 0

           END

         )

         *

         CASE

           WHEN fop.production_shift = 1 THEN

             IFNULL( (SELECT pzxsz+0 FROM ldcp_scgl_xtwh_xtpz WHERE pzxbm = 'yljclbbkhlxs' AND is_deleted = 0 LIMIT 1), 1 )

           WHEN fop.production_shift IN (2, 3) THEN

             IFNULL( (SELECT pzxsz+0 FROM ldcp_scgl_xtwh_xtpz WHERE pzxbm = 'yljclzbybkhlxs' AND is_deleted = 0 LIMIT 1), 1.2 )

           ELSE 1

         END

       ),

       0

     ),

     2

   )

 FROM filtering_operation_record fop

 LEFT JOIN filtering_workshop_production fwp

   ON fop.date = fwp.date

   AND fwp.is_deleted = 0

 -- 匹配压滤效率表的 日期+班别

 WHERE fop.date = tbl.date

   AND fop.class = tbl.class

   AND fop.is_deleted = 0

)

   /

(

SELECT

   ROUND(IFNULL(

       SUM(

           IFNULL(fop.filter_1,0) +

           IFNULL(fop.filter_2,0) +

           IFNULL(fop.filter_3,0) +

           IFNULL(fop.filter_4,0) +

           IFNULL(fop.filter_5,0) +

           IFNULL(fop.filter_6,0) +

           IFNULL(fop.filter_7,0)

       )/8,0

   ),2)

FROM filtering_operation_record fop

-- 匹配当前效率表:同日期、同班别

WHERE fop.date = tbl.date

 AND fop.class = tbl.class

 AND fop.is_deleted = 0

)

 )

 ,2)

评论区

超级管理员 2026-03-31 09:48

不是显示token过期吗?

觉得是sql的问题,可以在打印台把sql拿出来到客户端调试看看

Zom💭 2026-03-31 17:52

@超级管理员

请问这种算是sql无误但是查询量过大是吗

超级管理员 2026-03-31 17:55

可以拿出来到navicat里面调试看看,是sql执行执行结果回来慢,还是框架处理慢。先看一下超时原因


Zom💭 2026-04-01 11:39

@超级管理员

您好,我优化了下sql语句,现在是得打开功能后加载一会才会显示出来表数据,我想问后续随着数据条数的增加,会导致超时吗

回复

扫码关注

添加客服
图片未加载,请刷新后再试
联系我们