今天写了一个很简单的存储过程,结果一执行,40多秒,后来调整了一句话写法,瞬间出来,其实差别不大,如下:

select item_no=vpc.ITEM_ID
,BL_QTY=sum(vpc.QTY_CONTRACT-vpc.QTY_Shipped)
,QTY_Dis=sum(vpc.QTY_Distributed-vpc.QTY_Shipped)
,QTY_Avail=sum(vpc.QTY_CONTRACT-vpc.QTY_Distributed)

from TUC_V_PC_Line_Status vpc
where
isnull((select QTY_Avail from EX_ITEM_INV where item_no=vpc.item_ID and Whse='CN'),0)<0
and ITEM_ID=case when isnull(@Item,'')='' then ITEM_ID else @Item end
and CUST_ID=case when isnull(@Vendor,'')='' then CUST_ID else @Vendor end
group by vpc.ITEM_ID

测试时间40s左右

改成如下,测试时间1s之内完成

select item_no=vpc.ITEM_ID
,BL_QTY=sum(vpc.QTY_CONTRACT-vpc.QTY_Shipped)
,QTY_Dis=sum(vpc.QTY_Distributed-vpc.QTY_Shipped)
,QTY_Avail=sum(vpc.QTY_CONTRACT-vpc.QTY_Distributed)

from TUC_V_PC_Line_Status vpc
left join EX_ITEM_INV INV on INV.item_no=vpc.item_ID and INV.Whse='CN'
where
isnull(INV.QTY_Avail,0)<0
and ITEM_ID=case when isnull(@Item,'')='' then ITEM_ID else @Item end
and CUST_ID=case when isnull(@Vendor,'')='' then CUST_ID else @Vendor end
group by vpc.ITEM_ID

上述的视图TUC_V_PC_Line_Status中仅仅只有4377条记录,EX_ITEM_INV中约40000条记录,时间上就可以差别这么多。

最新文章

  1. Unity Profiler 性能分析
  2. struts2数据校验与国际化
  3. centos7编译安装pure-ftpd-1.0.42
  4. iOS block里的self
  5. WebStorm 9 注册码
  6. Android 第三方授权(微信篇)
  7. Bginfo软件在域的部署和应用
  8. C# 二叉堆
  9. Js 中常用方法
  10. Web 前端开发环境
  11. tomcat加载类的顺序
  12. 【汇编语言】DEBUG的使用
  13. python 使用 &#39;python -m pip install --upgrade pip&#39;提示PermissionError: [WinError 5] 拒绝访问
  14. 使用python实现后台系统的JWT认证(转)
  15. 获取用户IP
  16. 高并发分布式系统中生成全局唯一(订单号)Id
  17. python 读取文件时报错UnicodeDecodeError: &#39;gbk&#39; codec can&#39;t decode byte 0x80 in position 205: illegal multib
  18. -webkit-line-clamp超出省略
  19. Java08-java语法基础(七)构造方法
  20. (二)用控制器controller给模型数据赋初始值

热门文章

  1. 起点CG原创教程——digicel.FlipBook.6教程
  2. mysql数据小姿势
  3. [Effective Java]第六章 枚举和注解
  4. Python基础学习笔记(五)常用字符串内建函数
  5. Jquery基本、层次选择器
  6. Linux下查看文件权限、修改文件权限的方法
  7. hdu 1242 Rescue
  8. iOS之UIImagePickerController的应用
  9. MFC编程入门之五(MFC消息映射机制概述)
  10. 【linux命令】:查看系统运行状态,命令top 【转载】