欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-25 14:10:21
...

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

我从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语句或者日表倒年表,网站空间,或者采用其他的方式