中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
存储过程应注意的几个问题
作者:佚名 时间:2004-07-09 10:40 出处:互连网 责编:chinaitpower
              摘要:存储过程应注意的几个问题

  在编译存储过程的时候,经常容易发生死锁的情况,一旦发生,少则要等待几个小时,长则几天,KILL进程也不行,很是麻烦!
  
  我分析发生死锁的原因有几条:
  
  1,CURSOR的死循环
  2,重复执行存储过程
  3,调用了系统的繁忙资源
  4,表空间不够执行此次操作
  
  解决办法:
  1,调试的时候用单一的值代替CURSOR
  2,屏蔽掉反复套用的过程,分开调试
  3,要产生大量数据时,先检查表空间大小
  
  若死锁一旦发生,又想程序继续运行,我所用的方法就是将次存储过程复制创建另外一个,名字不同而已!当然,若有争用资源,这样是不行的
  
  1,在cursor里是必须设置跳出循环的条件的,但是若cursor关联的表比较的多或者条件设置的不对,就可能导致死循环啊
  
  2,重复调用就是在不同的程序中调用了同一个存储过程,这样就可能导致相互锁定了,锁定后,只有等着系统释放资源了,我操作的是服务器,数据库是不能够重启的,只有等!
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有