任务描述

1. 问题描述分析

erp web 超时日志,从阿里云日志里捞出,排列第2多,每天出现

子查询用到了not in 测试改为 not exists  效果依然不好,因为RB_WareHouse 表查询只用到了一个 id 条件,

测试对比:NOT IN, not exists 查询效果是一样的,都是用的索引扫描,查询时间都是55秒



2.解决方案

测试对比:NOT IN, not exists 查询效果是一样的,都是用的索引扫描,查询时间都是55秒,所以反向条件查询 + 1个id 条件,没有优化的空间

贴在此处,为以后的not in 查询 提供借鉴参考


3. 超时SQL


drop table #temp01
create table #temp01(
id int primary key
)


insert into #temp01  
SELECT Max(ID)
                 FROM   rb_warehouse_Product (nolock)
                 WHERE  CustomerID = 1
                        AND WareHouseID IN(SELECT id
                                           FROM   dbo.RB_WareHouse (nolock)
                                           WHERE  AutonomousWareHouseID = 5327
                                                  AND WareHouseType = 3
                                                  AND CustomerID = 1)
                 GROUP  BY OrderSourceSKU,
                           ASIN,
                           FNSKU,
                           WareHouseID,
                           SKU

select id from rb_warehouse_Product a where not exists(select id from #temp01 b where b.id =a.ID)
select id from rb_warehouse_Product a where ID NOT IN(select id from #temp01)

       AND CustomerID = 1
       AND WareHouseID IN(SELECT id
                          FROM   dbo.RB_WareHouse (nolock)
                          WHERE  AutonomousWareHouseID = 5327
                                 AND WareHouseType = 3
                                 AND CustomerID = 1)

--4274334  ,优化改造后的sql查询 55秒 

--4275435  rb_warehouse_Product 数据行数
--4274334  原sql查询行数 用时   88秒
--not in  1101  行数

历史记录  
  1. 2022-05-18 16:24:40, 由 陈少军 创建。
  2. 2022-05-18 16:25:19, 由 陈少军 指派给 陈少军。
    修改了 预计剩余,旧值为 "0",新值为 "1"。
    类似的反向查询 参考 借鉴 解决方案
  3. 2022-05-18 16:25:34, 由 陈少军 完成。
    修改了 总计消耗,旧值为 "0",新值为 "1"。
    修改了 实际完成,旧值为 "",新值为 "2022-05-18 16:25:26"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-05-18 16:25:34"。
    修改了 预计剩余,旧值为 "1",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "chenshaojun"。
  4. 2022-07-16 17:09:18, 由 zhengqiao 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "chenshaojun",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "zhengqiao"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2022-07-16 17:09:18"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 系统管理部 - 系统服务优化
所属模块 /
相关需求 暂无
指派给 Closed 于 2022-07-16 17:09:18
任务类型 后端
任务标签 初始
开发组
任务状态 已关闭
进度 100%
优先级 P2
关键词
抄送给
由谁创建 陈少军 于 2022-05-18 16:24:40
由谁完成 陈少军 于 2022-05-18 16:25:26
由谁取消 暂无
由谁关闭 zhengqiao 于 2022-07-16 17:09:18
关闭原因 已完成
最后编辑 zhengqiao 于 2022-07-16 17:09:18
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 0工时
总计消耗 1工时
预计剩余 0工时
预计开始 2022-05-17
实际开始 2022-05-18
截止日期 2022-05-17