任务描述
暂无
需求描述
问题描述:盛宝隆仓租服务里面的代码,存在大量循环执行SQL
代码文件:FeeCharge_Job_Service.cs,代码行数1279到1304 行代码。
这段代码,是在循环里面执行的,结果就是循环执行SQL,每轮服务循环5000次,导致这代码要执行3个小时左右。
每次循环执行的SQL【SELECT '@Daysofstorageage@' as CalculateField, Age AS 'FieldValue' FROM inv_inventoryage WHERE Id= @OrderCode
UNION all
SELECT '@DailyStockVolume@' as CalculateField, Length*Width*Height as 'FieldValue' FROM inv_inventoryage where Id=@OrderCode
UNION all
SELECT '@TotalDailyInventory@' as CalculateField, Number AS 'FieldValue' FROM inv_inventoryage WHERE Id = @OrderCode】

优化方案:将 【循环执行SQL】 改成 【批量执行SQL】, 每10个循环执行的SQL拼接到一起执行一次拿到结果,减少循环查询数据库次数。
验收标准
暂无
历史记录  
  1. 2022-07-27 14:03:53, 由 程伟 创建。
  2. 2022-07-28 18:45:58, 由 鞠智明 完成。
    修改了 总计消耗,旧值为 "0",新值为 "14"。
    修改了 实际完成,旧值为 "",新值为 "2022-07-28 18:42:40"。
    修改了 任务状态,旧值为 "wait",新值为 "done"。
    修改了 实际开始,旧值为 "0000-00-00 00:00:00",新值为 "2022-07-28 18:45:58"。
    修改了 预计剩余,旧值为 "14",新值为 "0"。
    修改了 由谁完成,旧值为 "",新值为 "juzhiming"。

    开发报告

    1.仓租导出代码循环优化调整,每50条仓租数据去查询数据库,减少循环的次数;之前的逻辑是单条循环查数据库;


    业务逻辑不变;

  3. 2022-08-03 16:05:07, 由 鞠智明 关闭。
    修改了 任务状态,旧值为 "done",新值为 "closed"。
    修改了 指派给 ,旧值为 "juzhiming",新值为 "closed"。
    修改了 由谁关闭,旧值为 "",新值为 "juzhiming"。
    修改了 关闭时间,旧值为 "0000-00-00 00:00:00",新值为 "2022-08-03 16:05:07"。
    修改了 关闭原因,旧值为 "",新值为 "done"。
所属迭代 技术研发中心 8月第 1 版本(2022年)
所属模块 /
相关需求 仓租导出SQL优化
指派给 Closed 于 2022-08-03 16:05:07
任务类型 后端
任务标签 初始
开发组
任务状态 已关闭
进度 100%
优先级 P2
关键词
抄送给
由谁创建 程伟 于 2022-07-27 14:03:53
由谁完成 鞠智明 于 2022-07-28 18:42:40
由谁取消 暂无
由谁关闭 鞠智明 于 2022-08-03 16:05:07
关闭原因 已完成
最后编辑 鞠智明 于 2022-08-03 16:05:07
团队 最初预计 总计消耗 预计剩余
工时信息
最初预计 14工时
总计消耗 14工时
预计剩余 0工时
预计开始 0000-00-00
实际开始 2022-07-28
截止日期 0000-00-00