关于存储过程中包含复杂业务的调试方法积累

我从2008年到今天已经走过了程序员生涯的5个春夏秋冬,酸甜苦辣百种滋味我相信只有走过这段路的程序才最有体会,不说废话了,就我知道的几种调试包含复杂业务的存储过程的方法列举如下:(备注:调试的方法源自一位老大【雪上加霜】,方法供大家学习指正)

本人使用的变成工具是Delphi 2010+SQL2008

背景介绍:

本人调试一个500行的存储过程,调试的原因是程序中调用存储过程,获得时间很长导致Delphi 的前台报出ERROR"超时已过期",最终找到存储过程执行效率低下,利用脚本重新建立各表的索引后仍然无效后,开始了漫长的查询效率低下原因查找中

 

方法一:存储构成中包含复杂的业务时无法重复执行,在查询分析器中增加事物回滚 begin tran exec usp_xx_xxxxxxx rollback tran

方法二:在存储过程中某一段后增加select 1 return或者 select "T"  return   查询存储过程中的某一段是否效率低下

方法三:  当遇到存储过程中存在,存储过程调用存储过程时可注释掉对应的存储过程,看存储的查询效率

方法四:  当遇到存储过程中遇到使用游标的可采用在游标的后面加上where 1=2 过滤该游标,看是否提高了查询效率

当最终查询到某一条SQL语句查询效率低下后,根据实际情况处理,建立表索引或者优化SQL语句或者日表倒年表,或者采用其他的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值