SQL Server和Oracle中的锁和死锁(四)

日期: 2008-07-14 作者:王铁民 来源:TechTarget中国 英文

  5 、避免死锁


  ORACLE :


  1) 避免应用不运行长事务。


  2) 经常提交以避免长时间锁定行。


  3) 避免使用LOCK命令锁定表。


  4) 在非高峰期间执行DDL操作。


  5) 在非高峰期间执行长时间运行的查询或事务。


  6) 确保开发人员使用限制最少的锁模式比不过仔细设计防止锁争用的事务,


  7) 监控阻塞其他锁的锁并调查为什么这些锁正被保持。


  8) 确定为什么阻塞的锁的被保持了很长时间并尽量阻止它们。


  9) 监视死锁发生的频率并解决它们。


  10) 当死锁发生通过回滚事务rollback或者终止会话来解决它。


  SQL SERVER :


  SQL SERVER能够自动探测和处理死锁,但应用程序应尽可能的避免,遵循如下原则:


  1) 从表中访问数据的顺序要一致,避免循环死锁。


  2) 减少使用holdlock或使用可重复读与可序列化锁隔离级的查询,从而避免转换死锁。


  3) 恰当选择事务隔离级别。选择低事务隔离级可以减少死锁。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐