ERP中关于审批时速度太慢的SQL优化
在给客户实施ERP的时候,经常遇到客户的请购单审批时,特别慢,一个阶段要转个40、50秒左右,3个阶段就差不多要3分钟,效率很低。
检查方法如下:
1、数据库跟踪语句,找出执行时间较久的语句,结果如下:

2、由上图可以看出,执行该语句的时候,时间差不多是45秒(Drration单位是ms),将此段语句复制出来,进行分析;
3、WFWdd(审批)与WFWddA表数据较多,尤其是WFWddA表有20几万的数据,这是导致查询过慢的主要原因;
解决方案:
给这两张表创建索引,加快查询效率,现提供创建索引的语句,语句如下:
CREATE NONCLUSTERED INDEX [IX_DraftKey] ON [dbo].[WFWdd] ( [DraftKey] ASC ) CREATE NONCLUSTERED INDEX [IX_WorkflowInstanceId] ON [dbo].[WFWddA] ( [WorkflowInstanceId] ASC )
1、遇到类似的审批过慢,可参考;
2、合理利用sql语句跟踪工具,找出问题根源。
工具使用说明参见:SQL Server Profiler查询跟踪的简单使用
索引介绍请参见:索引介绍
ERP中关于审批时速度太慢的SQL优化的更多相关文章
- Docker 拉取镜像速度太慢
Docker Hub 是我们分发和获取 Docker 镜像的中心,但由于服务器位于海外,经常会出现拉取/上传镜像时速度太慢或无法访问的情况.再加上运营方不断对 Docker Hub 的免费使用进行限制 ...
- 在ERP中定义用户时报错:SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间
在ERP中定义用户时. 报错: SqlDateTime 溢出.必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间. 原因分析: ①没有正确初 ...
- 【短道速滑一】OpenCV中cvResize函数使用双线性插值缩小图像到长宽大小一半时速度飞快(比最近邻还快)之异象解析和自我实现。
今天,一个朋友想使用我的SSE优化Demo里的双线性插值算法,他已经在项目里使用了OpenCV,因此,我就建议他直接使用OpenCV,朋友的程序非常注意效率和实时性(因为是处理视频),因此希望我能测试 ...
- github 入门教程之 github 访问速度太慢怎么办
github 是全世界最流行的开源项目托管平台,其代表的开源文化从根本上改变了软件开发的方式. 基本上所有的需求都能从 github 上或多或少找到现成的实现方案,再也不用重头开始造轮子而是自定义轮子 ...
- 启动运行下载gradle速度太慢,手动添加
启动运行下载gradle速度太慢,并且容易卡死(感谢群友ˋ狠ㄨ得意提供支持)---国内网络访问地址 我们经常运行项目的时候会需要进行下载gradle,不过由于网络或者和谐的问题经常下载需要花很长时间或 ...
- 读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots
读取redis中的数据时出现:MISCONF Redis is configured to save RDB snapshots 以下为异常详细信息: Exception in thread &q ...
- PowerDesigner中转换物理模型时的命名转换
原文:PowerDesigner中转换物理模型时的命名转换 最近在使用PowerDesigner建模数据库,在使用中积累了一些遇到的问题和解决办法,记录下来,希望对遇到同样问题的朋友有所帮助. 早 期 ...
- MYSQL分页limit速度太慢优化方法
http://www.fienda.com/archives/110 在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死 ...
- ERP中通过EDI导入资料的时候出现【Microsoft Office Excel不能访问文件‘C:\Windows\TEMP\433....’
问题描述: ERP中导入单据的时候报错,Microsoft Office Excel不能访问文件'C:\Windows\TEMP\433....可能的原因有:·文件名称或路径不存在,文件正被其他程序使 ...
随机推荐
- 上传文件到linux服务器
可以在SecureCRT下上传 先用使用命令下载一个文件:yum install lrzsz -y 然后在跳转到要保存的目录 最后,拖拽文件到secureCRT中即可
- 简述Android系统内存不足时候,内存回收机制
当Android系统的内存不足时,会根据以下的内存回收规则来回收内存: 1.先回收与其他Activity或Service/Intent Receiver无关的进程(即优先回收独立的Activity) ...
- jQuery 处理TextArea
jQuery 处理TextArea: $('#btn001').click(function(e) { console.log("btn001Click"); var cmt = ...
- SVG的基础使用
SVG的基础使用: <%@ page language="java" contentType="text/html; charset=UTF-8" pag ...
- python如何安装模块
1.从 https://pypi.python.org/pypi/XXXX 下载压缩包 2.解压所下载的压缩包 3.CD到解压目录,执行 sudo python setup.py install
- MyBatis 一对多关联查询
sqlxml文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC ...
- php知识点总结(一)
1.把数组以表格的形式显示 <?php $array = array( '书籍' => array( '生活', '人与自然','动物世界'), '体育用品' => array ...
- CodeForces462B
Appleman and Card Game Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & % ...
- Github+Hexo搭建静态博客
开始 在安装hexo之前,必须确认你已经安装了Node.js和Git,并且注册了一个Github账号. 1.创建Github仓库 1) 仓库名为xxx.github.io 创建一个以"用户名 ...
- Spring 中使用Quartz实现任务调度
前言:Spring中使用Quartz 有两种方式,一种是继承特定的基类:org.springframework.scheduling.quartz.QuartzJobBean,另一种则不需要,(推荐使 ...