重现步骤

反馈人:王凯

zhcxkj-center-warehouse 慢sql,请勿过多联表 和多层嵌套 ,业务拆分分步、分批处理数据,从代码中进行数据拼接、组装 : SELECT

b.order_code,
a.warehouse_id,
b.id AS order_list_id,
b.sku,
b.customer_id,
(b.product_num + IFNULL(b.product_num_update,0)) product_num,
b.pending_move_number- IFNULL(f.sumNumber, 0) lock_num,
d.order_source_type,
a.amazon_shipment_id,
IFNULL(e.order_build_type, -1) order_build_type,
IFNULL(e.is_sta_com_order, 0) is_sta_com_order,
IFNULL(e.interface_type, 0) interface_type,
3 as task_type,
0 as taskStatus,
b.pending_move_number,
IFNULL(f.sumNumber, 0) sumNumber
FROM t_stk_order_info a
JOIN t_stk_order_list b ON a.order_code = b.order_code AND a.customer_id = b.customer_id
JOIN rb_order_source d ON a.order_source_id = d.id AND a.customer_id = d.customer_id
LEFT JOIN (
SELECT a.customer_id,a.origin_order_code,b.order_list_id,
SUM(CASE WHEN a.task_status < 4 then b.sku_number else IFNULL(b.moved_number,0)+IFNULL(b.abnormal_number,0)end) sumNumber
from t_stk_moving_task a
join t_stk_moving_task_detail b on b.moving_task_id=a.id and b.customer_id=a.customer_id
WHERE task_type=3 AND task_status < 5
GROUP BY a.customer_id,a.origin_order_code,b.order_list_id
)f on f.origin_order_code=a.order_code and f.order_list_id=b.id AND f.customer_id=a.customer_id
LEFT JOIN t_stk_order_info_beikuexpand e ON a.order_code = e.order_code AND a.customer_id = e.customer_id
WHERE a.add_time >= 2025-01-08 15:15:00.097
AND a.is_stock_order = 1
and b.pending_move_number>0
AND b.pending_move_number- IFNULL(f.sumNumber, 0) > 0
历史记录  
  1. 2026-01-22 10:02:17, 由 陈莉珍 创建。
  2. 2026-01-22 10:11:19, 由 程伟 指派给 唐飞飞。
    修改了 指派给,旧值为 "chengwei",新值为 "tangfeifei"。
  3. 2026-01-22 10:29:55, 由 唐飞飞 指派给 李健兴。
    修改了 指派给,旧值为 "tangfeifei",新值为 "lijianxing"。

    bug问题:

        可生成订单移存储移库任务的查询sql查询耗时长

    bug分析

    这个问题从sql角度已经无法再优化了,需要拆分业务

    bug解决方案:

       1、分页查询指定范围内的单据数据

       2、根据第一步查询出的订单,分批查询订单已生成的移库任务

       3、根据1和2查出的数据解析出可生成订单移存储移库任务的数据



  4. 2026-01-23 10:08:56, 由 李健兴 转为 需求,编号为 #33472 WMS: 可生成订单移存储移库任务的查询变更为分步骤查询 。
  5. 2026-01-23 10:08:56, 由 李健兴 关闭。
  6. 2026-01-26 13:45:28, 由 陈莉珍 编辑。
    修改了 所属模块 ,旧值为 "0",新值为 "1932"。
    修改了 业务部门 ,旧值为 "0",新值为 "2"。
    修改了 测试责任人,旧值为 "",新值为 "lijianxing"。
    修改了 解决时效 ,旧值为 "0",新值为 "24.11"。
    修改了 解决版本 ,旧值为 "",新值为 "trunk"。
    修改了 解决方案 ,旧值为 "tostory",新值为 "performance"。
    修改了 是否确认 ,旧值为 "0",新值为 "1"。
    修改了 重现步骤 ,区别为:
    001-
    001+ 反馈人:王凯
    002- 反馈人:王凯
    002+ zhcxkj-center-warehouse 慢sql,请勿过多联表 和多层嵌套 ,业务拆分分步、分批处理数据,从代码中进行数据拼接、组装 : SELECT
    003-
    003+ b.order_code,
    004-
    004+ a.warehouse_id, b.id AS order_list_id, b.sku, b.customer_id, (b.product_num + IFNULL(b.product_num_update,0)) product_num, b.pending_move_number- IFNULL(f.sumNumber, 0) lock_num, d.order_source_type, a.amazon_shipment_id, IFNULL(e.order_build_type, -1) order_build_type, IFNULL(e.is_sta_com_order, 0) is_sta_com_order, IFNULL(e.interface_type, 0) interface_type, 3 as task_type, 0 as taskStatus, b.pending_move_number, IFNULL(f.sumNumber, 0) sumNumber FROM t_stk_order_info a JOIN t_stk_order_list b ON a.order_code = b.order_code AND a.customer_id = b.customer_id JOIN rb_order_source d ON a.order_source_id = d.id AND a.customer_id = d.customer_id LEFT JOIN ( SELECT a.customer_id,a.origin_order_code,b.order_list_id, SUM(CASE WHEN a.task_status &lt; 4 then b.sku_number else IFNULL(b.moved_number,0)+IFNULL(b.abnormal_number,0)end) sumNumber from t_stk_moving_task a join t_stk_moving_task_detail b on b.moving_task_id=a.id and b.customer_id=a.customer_id WHERE task_type=3 AND task_status &lt; 5 GROUP BY a.customer_id,a.origin_order_code,b.order_list_id )f on f.origin_order_code=a.order_code and f.order_list_id=b.id AND f.customer_id=a.customer_id LEFT JOIN t_stk_order_info_beikuexpand e ON a.order_code = e.order_code AND a.customer_id = e.customer_id WHERE a.add_time &gt;= 2025-01-08 15:15:00.097 AND a.is_stock_order = 1 and b.pending_move_number&gt;0 AND b.pending_move_number- IFNULL(f.sumNumber, 0) &gt; 0
    005- zhcxkj-center-warehouse 慢sql,请勿过多联表 和多层嵌套 ,业务拆分分步、分批处理数据,从代码中进行数据拼接、组装 : SELECT
    006-
    007- b.order_code,
    008- a.warehouse_id,
    009- b.id AS order_list_id,
    010- b.sku,
    011- b.customer_id,
    012- (b.product_num + IFNULL(b.product_num_update,0)) product_num,
    013- b.pending_move_number- IFNULL(f.sumNumber, 0) lock_num,
    014- d.order_source_type,
    015- a.amazon_shipment_id,
    016- IFNULL(e.order_build_type, -1) order_build_type,
    017- IFNULL(e.is_sta_com_order, 0) is_sta_com_order,
    018- IFNULL(e.interface_type, 0) interface_type,
    019- 3 as task_type,
    020- 0 as taskStatus,
    021- b.pending_move_number,
    022- IFNULL(f.sumNumber, 0) sumNumber
    023- FROM t_stk_order_info a
    024- JOIN t_stk_order_list b ON a.order_code = b.order_code AND a.customer_id = b.customer_id
    025- JOIN rb_order_source d ON a.order_source_id = d.id AND a.customer_id = d.customer_id
    026- LEFT JOIN (
    027- SELECT a.customer_id,a.origin_order_code,b.order_list_id,
    028- SUM(CASE WHEN a.task_status &lt; 4 then b.sku_number else IFNULL(b.moved_number,0)+IFNULL(b.abnormal_number,0)end) sumNumber
    029- from t_stk_moving_task a
    030- join t_stk_moving_task_detail b on b.moving_task_id=a.id and b.customer_id=a.customer_id
    031- WHERE task_type=3 AND task_status &lt; 5
    032- GROUP BY a.customer_id,a.origin_order_code,b.order_list_id
    033- )f on f.origin_order_code=a.order_code and f.order_list_id=b.id AND f.customer_id=a.customer_id
    034- LEFT JOIN t_stk_order_info_beikuexpand e ON a.order_code = e.order_code AND a.customer_id = e.customer_id
    035- WHERE a.add_time &gt;= 2025-01-08 15:15:00.097
    036- AND a.is_stock_order = 1
    037- and b.pending_move_number&gt;0
    038- AND b.pending_move_number- IFNULL(f.sumNumber, 0) &gt; 0
    001- <p>
    001+ <p>反馈人:王凯</p>
    002- 反馈人:王凯
    002+ <p>zhcxkj-center-warehouse 慢sql,请勿过多联表 和多层嵌套 ,业务拆分分步、分批处理数据,从代码中进行数据拼接、组装 : SELECT</p>
    003- </p>
    003+ b.order_code,<br />
    004- <p>
    004+ a.warehouse_id,<br /> b.id AS order_list_id,<br /> b.sku,<br /> b.customer_id,<br /> (b.product_num + IFNULL(b.product_num_update,0)) product_num,<br /> b.pending_move_number- IFNULL(f.sumNumber, 0) lock_num,<br /> d.order_source_type,<br /> a.amazon_shipment_id,<br /> IFNULL(e.order_build_type, -1) order_build_type,<br /> IFNULL(e.is_sta_com_order, 0) is_sta_com_order,<br /> IFNULL(e.interface_type, 0) interface_type,<br /> 3 as task_type,<br /> 0 as taskStatus,<br /> b.pending_move_number,<br /> IFNULL(f.sumNumber, 0) sumNumber<br /> FROM t_stk_order_info a<br /> JOIN t_stk_order_list b ON a.order_code = b.order_code AND a.customer_id = b.customer_id<br /> JOIN rb_order_source d ON a.order_source_id = d.id AND a.customer_id = d.customer_id<br /> LEFT JOIN (<br /> SELECT a.customer_id,a.origin_order_code,b.order_list_id,<br /> SUM(CASE WHEN a.task_status &lt; 4 then b.sku_number else IFNULL(b.moved_number,0)+IFNULL(b.abnormal_number,0)end) sumNumber<br /> from t_stk_moving_task a<br /> join t_stk_moving_task_detail b on b.moving_task_id=a.id and b.customer_id=a.customer_id<br /> WHERE task_type=3 AND task_status &lt; 5<br /> GROUP BY a.customer_id,a.origin_order_code,b.order_list_id<br /> )f on f.origin_order_code=a.order_code and f.order_list_id=b.id AND f.customer_id=a.customer_id<br /> LEFT JOIN t_stk_order_info_beikuexpand e ON a.order_code = e.order_code AND a.customer_id = e.customer_id<br /> WHERE a.add_time &gt;= 2025-01-08 15:15:00.097<br /> AND a.is_stock_order = 1<br /> and b.pending_move_number&gt;0<br /> AND b.pending_move_number- IFNULL(f.sumNumber, 0) &gt; 0
    005- zhcxkj-center-warehouse 慢sql,请勿过多联表 和多层嵌套 ,业务拆分分步、分批处理数据,从代码中进行数据拼接、组装 : SELECT
    006- </p>
    007- b.order_code,<br />
    008- a.warehouse_id,<br />
    009- b.id AS order_list_id,<br />
    010- b.sku,<br />
    011- b.customer_id,<br />
    012- (b.product_num + IFNULL(b.product_num_update,0)) product_num,<br />
    013- b.pending_move_number- IFNULL(f.sumNumber, 0) lock_num,<br />
    014- d.order_source_type,<br />
    015- a.amazon_shipment_id,<br />
    016- IFNULL(e.order_build_type, -1) order_build_type,<br />
    017- IFNULL(e.is_sta_com_order, 0) is_sta_com_order,<br />
    018- IFNULL(e.interface_type, 0) interface_type,<br />
    019- 3 as task_type,<br />
    020- 0 as taskStatus,<br />
    021- b.pending_move_number,<br />
    022- IFNULL(f.sumNumber, 0) sumNumber<br />
    023- FROM t_stk_order_info a<br />
    024- JOIN t_stk_order_list b ON a.order_code = b.order_code AND a.customer_id = b.customer_id<br />
    025- JOIN rb_order_source d ON a.order_source_id = d.id AND a.customer_id = d.customer_id<br />
    026- LEFT JOIN (<br />
    027- SELECT a.customer_id,a.origin_order_code,b.order_list_id,<br />
    028- SUM(CASE WHEN a.task_status &lt; 4 then b.sku_number else IFNULL(b.moved_number,0)+IFNULL(b.abnormal_number,0)end) sumNumber<br />
    029- from t_stk_moving_task a<br />
    030- join t_stk_moving_task_detail b on b.moving_task_id=a.id and b.customer_id=a.customer_id<br />
    031- WHERE task_type=3 AND task_status &lt; 5<br />
    032- GROUP BY a.customer_id,a.origin_order_code,b.order_list_id<br />
    033- )f on f.origin_order_code=a.order_code and f.order_list_id=b.id AND f.customer_id=a.customer_id<br />
    034- LEFT JOIN t_stk_order_info_beikuexpand e ON a.order_code = e.order_code AND a.customer_id = e.customer_id<br />
    035- WHERE a.add_time &gt;= 2025-01-08 15:15:00.097<br />
    036- AND a.is_stock_order = 1<br />
    037- and b.pending_move_number&gt;0<br />
    038- AND b.pending_move_number- IFNULL(f.sumNumber, 0) &gt; 0
  7. 2026-01-26 13:45:48, 由 陈莉珍 编辑。
    修改了 上线时间,旧值为 "0000-00-00 00:00:00",新值为 "2026-01-23 10:08:56"。
    修改了 上线时效,旧值为 "-1",新值为 "24.11"。
所属项目 技术中心-需求池
所属模块 供应链   仓储物流   仓储
所属计划
所属迭代
Bug类型
严重程度 一般
优先级 P1
Bug状态 已关闭
业务部门 总经办
影响功能
开发责任人 李健兴
测试责任人 李健兴
解决时效 24.11
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2026-01-26 13:45:48
截止日期 0000-00-00
上线时间 2026-01-23 10:08:56
上线时效 24.11
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 陈莉珍 于 2026-01-22 10:02:17
影响环境 生产环境-业务反馈
由谁解决 李健兴 于 2026-01-23 10:08:56
解决版本 主干
解决方案 性能问题
由谁关闭 李健兴 于 2026-01-23 10:08:56
最后修改 陈莉珍 于 2026-01-26 13:45:48