存储过程应注意的几个问题

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

在编译存储过程的时候,经常容易发生死锁的情况,一旦发生,少则要等待几个小时,长则几天,KILL进程也不行,很是麻烦!

我分析发生死锁的原因有几条:

1,CURSOR的死循环

2,重复执行存储过程

3,调用了系统的繁忙资源

4,表空间不够执行此次操作

解决办法:

1,调试的时候用单一的值代替CURSOR

2,屏蔽掉反复套用的过程,分开调试

3,要产生大量数据时,先检查表空间大小

若死锁一旦发生,又想程序继续运行,我所用的方法就是将次存储过程复制创建另外一个,名字不同而已!当然,若有争用资源,这样是不行的

1,在cursor里是必须设置跳出循环的条件的,但是若cursor关联的表比较的多或者条件设置的不对,就可能导致死循环啊

2,重复调用就是在不同的程序中调用了同一个存储过程,这样就可能导致相互锁定了,锁定后,只有等着系统释放资源了,我操作的是服务器,数据库是不能够重启的,只有等!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有