重现步骤

严重级别:严重
所属项目:java产品库(可能多平台那边的)
问题原因:慢SQL、大表JOIN,查询时间50秒左右,SQL为:(
SELECT p.id,p.sku,p.productGroupSku,qlength,qwidth,qheight,p.isGroup FROM ( SELECT rp.id, rp.sku AS sku, rp.product_group_sku AS productGroupSku,rp.is_group as isGroup, CASE WHEN rp.pack_length >0 AND rp.pack_width >0 AND rp.pack_height >0 THEN rp.pack_length ELSE rp.length END AS qlength, CASE WHEN rp.pack_length >0 AND rp.pack_width >0 AND rp.pack_height >0 THEN rp.pack_width ELSE rp.width END AS qwidth, CASE WHEN rp.pack_length >0 AND rp.pack_width >0 AND rp.pack_height >0 THEN rp.pack_height ELSE rp.height END AS qheight, CASE WHEN rp.pack_weight > 0 THEN rp.pack_weight ELSE rp.gross_weight END AS weight FROM rb_product_admin rpa INNER JOIN rb_product rp ON rpa.customer_id = rp.customer_id AND rpa.sku = rp.sku AND rp.delete_status=0 AND rpa.check_status = 1 WHERE rp.customer_id = 1 AND rp.id > 2215312 AND rpa.check_time >= '1995-07-10 12:50:21.019' AND rpa.check_time <= '2025-07-10 12:50:21.019' AND rp.product_state IN ( 0 , 1 ) AND rp.has_law_firm_agent IN ( -1 , 0 , 1 ) and rp.product_property in ( 2 ) and rp.is_group in ( 0 ) ) p ORDER BY id asc LIMIT 1000;
)
解决方案:(建议方案)当前查询,建议以rb_product表的ID为区间MQ事件{"min_id":1,"max_id":500},消费者单表回查rb_product,再通过rb_product_admin判断是否符合条件
历史记录  
  1. 2025-07-10 16:31:07, 由 万昌楠 创建。
  2. 2025-07-10 17:14:08, 由 刘瀚泽 指派给 任芳涛。
    修改了 指派给,旧值为 "liuhanze",新值为 "renfangtao"。
    确认一下,是否是我们的问题
  3. 2025-07-11 10:34:28, 由 任芳涛 指派给 刘瀚泽。
    修改了 指派给,旧值为 "renfangtao",新值为 "liuhanze"。
    转需求优化
  4. 2025-07-14 08:15:34, 由 刘瀚泽 转为 需求,编号为 #29776 IMS:多平台运营管理系统慢SQL及性能优化V8 。
  5. 2025-07-14 08:15:34, 由 刘瀚泽 关闭。
  6. 2025-07-15 09:16:28, 由 陈莉珍 编辑。
    修改了 所属模块 ,旧值为 "0",新值为 "1868"。
    修改了 业务部门 ,旧值为 "0",新值为 "2"。
    修改了 测试责任人,旧值为 "",新值为 "liuhanze"。
    修改了 解决时效 ,旧值为 "0",新值为 "39.74"。
    修改了 解决版本 ,旧值为 "",新值为 "trunk"。
    修改了 解决方案 ,旧值为 "tostory",新值为 "performance"。
    修改了 是否确认 ,旧值为 "0",新值为 "1"。
    修改了 重现步骤 ,区别为:
    001-
    001+ 严重级别:严重 所属项目:java产品库(可能多平台那边的) 问题原因:慢SQL、大表JOIN,查询时间50秒左右,SQL为:( SELECT p.id,p.sku,p.productGroupSku,qlength,qwidth,qheight,p.isGroup FROM ( SELECT rp.id, rp.sku AS sku, rp.product_group_sku AS productGroupSku,rp.is_group as isGroup, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_length ELSE rp.length END AS qlength, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_width ELSE rp.width END AS qwidth, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_height ELSE rp.height END AS qheight, CASE WHEN rp.pack_weight &gt; 0 THEN rp.pack_weight ELSE rp.gross_weight END AS weight FROM rb_product_admin rpa INNER JOIN rb_product rp ON rpa.customer_id = rp.customer_id AND rpa.sku = rp.sku AND rp.delete_status=0 AND rpa.check_status = 1 WHERE rp.customer_id = 1 AND rp.id &gt; 2215312 AND rpa.check_time &gt;= '1995-07-10 12:50:21.019' AND rpa.check_time &lt;= '2025-07-10 12:50:21.019' AND rp.product_state IN ( 0 , 1 ) AND rp.has_law_firm_agent IN ( -1 , 0 , 1 ) and rp.product_property in ( 2 ) and rp.is_group in ( 0 ) ) p ORDER BY id asc LIMIT 1000; ) 解决方案:(建议方案)当前查询,建议以rb_product表的ID为区间MQ事件{"min_id":1,"max_id":500},消费者单表回查rb_product,再通过rb_product_admin判断是否符合条件
    002- 严重级别:严重
    003- 所属项目:java产品库(可能多平台那边的)
    004- 问题原因:慢SQL、大表JOIN,查询时间50秒左右,SQL为:(
    005- SELECT p.id,p.sku,p.productGroupSku,qlength,qwidth,qheight,p.isGroup FROM ( SELECT rp.id, rp.sku AS sku, rp.product_group_sku AS productGroupSku,rp.is_group as isGroup, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_length ELSE rp.length END AS qlength, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_width ELSE rp.width END AS qwidth, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_height ELSE rp.height END AS qheight, CASE WHEN rp.pack_weight &gt; 0 THEN rp.pack_weight ELSE rp.gross_weight END AS weight FROM rb_product_admin rpa INNER JOIN rb_product rp ON rpa.customer_id = rp.customer_id AND rpa.sku = rp.sku AND rp.delete_status=0 AND rpa.check_status = 1 WHERE rp.customer_id = 1 AND rp.id &gt; 2215312 AND rpa.check_time &gt;= '1995-07-10 12:50:21.019' AND rpa.check_time &lt;= '2025-07-10 12:50:21.019' AND rp.product_state IN ( 0 , 1 ) AND rp.has_law_firm_agent IN ( -1 , 0 , 1 ) and rp.product_property in ( 2 ) and rp.is_group in ( 0 ) ) p ORDER BY id asc LIMIT 1000;
    006- )
    007- 解决方案:(建议方案)当前查询,建议以rb_product表的ID为区间MQ事件{"min_id":1,"max_id":500},消费者单表回查rb_product,再通过rb_product_admin判断是否符合条件
    001- <br />
    001+ <br /> 严重级别:严重<br /> 所属项目:java产品库(可能多平台那边的)<br /> 问题原因:慢SQL、大表JOIN,查询时间50秒左右,SQL为:(<br /> SELECT p.id,p.sku,p.productGroupSku,qlength,qwidth,qheight,p.isGroup FROM ( SELECT rp.id, rp.sku AS sku, rp.product_group_sku AS productGroupSku,rp.is_group as isGroup, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_length ELSE rp.length END AS qlength, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_width ELSE rp.width END AS qwidth, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_height ELSE rp.height END AS qheight, CASE WHEN rp.pack_weight &gt; 0 THEN rp.pack_weight ELSE rp.gross_weight END AS weight FROM rb_product_admin rpa INNER JOIN rb_product rp ON rpa.customer_id = rp.customer_id AND rpa.sku = rp.sku AND rp.delete_status=0 AND rpa.check_status = 1 WHERE rp.customer_id = 1 AND rp.id &gt; 2215312 AND rpa.check_time &gt;= '1995-07-10 12:50:21.019' AND rpa.check_time &lt;= '2025-07-10 12:50:21.019' AND rp.product_state IN ( 0 , 1 ) AND rp.has_law_firm_agent IN ( -1 , 0 , 1 ) and rp.product_property in ( 2 ) and rp.is_group in ( 0 ) ) p ORDER BY id asc LIMIT 1000;<br /> )<br /> 解决方案:(建议方案)当前查询,建议以rb_product表的ID为区间MQ事件{"min_id":1,"max_id":500},消费者单表回查rb_product,再通过rb_product_admin判断是否符合条件
    002- 严重级别:严重<br />
    003- 所属项目:java产品库(可能多平台那边的)<br />
    004- 问题原因:慢SQL、大表JOIN,查询时间50秒左右,SQL为:(<br />
    005- SELECT p.id,p.sku,p.productGroupSku,qlength,qwidth,qheight,p.isGroup FROM ( SELECT rp.id, rp.sku AS sku, rp.product_group_sku AS productGroupSku,rp.is_group as isGroup, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_length ELSE rp.length END AS qlength, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_width ELSE rp.width END AS qwidth, CASE WHEN rp.pack_length &gt;0 AND rp.pack_width &gt;0 AND rp.pack_height &gt;0 THEN rp.pack_height ELSE rp.height END AS qheight, CASE WHEN rp.pack_weight &gt; 0 THEN rp.pack_weight ELSE rp.gross_weight END AS weight FROM rb_product_admin rpa INNER JOIN rb_product rp ON rpa.customer_id = rp.customer_id AND rpa.sku = rp.sku AND rp.delete_status=0 AND rpa.check_status = 1 WHERE rp.customer_id = 1 AND rp.id &gt; 2215312 AND rpa.check_time &gt;= '1995-07-10 12:50:21.019' AND rpa.check_time &lt;= '2025-07-10 12:50:21.019' AND rp.product_state IN ( 0 , 1 ) AND rp.has_law_firm_agent IN ( -1 , 0 , 1 ) and rp.product_property in ( 2 ) and rp.is_group in ( 0 ) ) p ORDER BY id asc LIMIT 1000;<br />
    006- )<br />
    007- 解决方案:(建议方案)当前查询,建议以rb_product表的ID为区间MQ事件{"min_id":1,"max_id":500},消费者单表回查rb_product,再通过rb_product_admin判断是否符合条件
所属项目 技术中心-需求池
所属模块 多平台   Aliexpress
所属计划
所属迭代
Bug类型
严重程度 一般
优先级 P2
Bug状态 已关闭
业务部门 总经办
影响功能
开发责任人 刘瀚泽
测试责任人 刘瀚泽
解决时效 39.74
激活次数 0
激活日期
是否确认 是
当前指派 Closed 于 2025-07-15 09:16:28
截止日期 0000-00-00
上线时间 2025-07-14 08:15:00
上线时效 39.73
操作系统
浏览器
关键词
抄送给
所属迭代
相关需求
相关任务
由谁创建 万昌楠 于 2025-07-10 16:31:07
影响环境 生产环境-业务反馈
由谁解决 刘瀚泽 于 2025-07-14 08:15:33
解决版本 主干
解决方案 性能问题
由谁关闭 刘瀚泽 于 2025-07-14 08:15:33
最后修改 陈莉珍 于 2025-07-15 09:16:28