任务描述

1. 问题分析

  智能刊登gaussdb 慢sql 排名第4,98次/小时 平均时间:16秒

  In 子查询元素大于10


2.解决方案

语句优化建议:
发现IN表达式包含元素超过10,请慎用,因为元素过多会导致全表扫描。

建议按《sql优化军规》改为临时表后join


3.原sql

SELECT *
FROM (
SELECT SiteCode, SKU, CategoryId, ROW_NUMBER() OVER (PARTITION BY SiteCode, SKU ORDER BY LastModificationTime DESC) AS rno
FROM M_Ebay_Listing
WHERE IsAutoPublish = ?
AND SiteCode = ?
AND SKU IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
AND LENGTH(CategoryId) > ?
AND CategoryId NOT IN (
SELECT CategoryId
FROM bd_prohibitionsale_category
WHERE SiteCode = ?
AND MarketId = ?
)
) a
WHERE rno = ?;

历史记录  
  1. 2022-07-29 09:38:48, 由 陈少军 创建。
  2. 2022-07-29 09:39:09, 由 陈少军 指派给 胡笑锋。
    修改了 预计剩余,旧值为 "0",新值为 "2"。
    参考 解决方案 优化
  3. 2022-08-09 18:29:35, 由 胡笑锋 指派给 刘朋飞。
    修改了 指派给 ,旧值为 "huxiaofeng",新值为 "liupengfei"。
    修改了 预计剩余,旧值为 "2",新值为 "4"。
  4. 2022-08-10 08:44:34, 由 刘朋飞 完成。
    修改了 总计消耗,旧值为 "0",新值为 "1"。
    修改了 指派给 ,旧值为 "liupengfei",新值为 "chenshaojun"。
    修改了 实际完成,旧值为 "",新值为 "2022-08-10 08:40:56"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-08-10 08:44:34"。
    修改了 预计剩余,旧值为 "4",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "liupengfei"。

    描述:SKU是用户输入的(多个),现在这个Sql是优化后的,原SQL在分钟以上(少量SKU,多SKU在30分钟以上)

    实测SKU数量:100个

    实测平均耗时 0.112 毫秒左右


  5. 2023-10-31 14:53:13, 由 周杰 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "zhoujie"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2023-10-31 14:53:13"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 系统管理部 - 系统服务优化
所属模块 /
相关需求 暂无
指派给 Closed 于 2023-10-31 14:53:13
任务类型 后端
任务标签 初始
开发组
任务状态 已关闭
进度 100%
优先级 P2
关键词
抄送给
由谁创建 陈少军 于 2022-07-29 09:38:48
由谁完成 刘朋飞 于 2022-08-10 08:40:56
由谁取消 暂无
由谁关闭 周杰 于 2023-10-31 14:53:13
关闭原因 已完成
最后编辑 周杰 于 2023-10-31 14:53:13
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 0工时
总计消耗 1工时
预计剩余 0工时
预计开始 2022-07-29
实际开始 2022-08-10
截止日期 2022-08-05