TechTarget中国网站推荐

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

2008-7-15  选择字号:  | |
打印本文章

  5 、避免死锁

  ORACLE :

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

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

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

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

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

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

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

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

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

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

  SQL SERVER :

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

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

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

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


SQL Server和Oracle中的锁和死锁
 SQL Server和Oracle中的锁和死锁(一)
 SQL Server和Oracle中的锁和死锁(二)
 SQL Server和Oracle中的锁和死锁(三)
 SQL Server和Oracle中的锁和死锁(四)

原文出处:http://database.51cto.com/art/200807/80312_2.htm
来源:51cto    作者:王铁民    
我得到了一个错误信息,如“DIM-00019:创建服务错误。”我用你寄给我的解决方案解决这一问题,即:“手动创建和启动服务。”你能告诉我如何手动安装该服务吗?
我如何才能进行商业论证,让我的高管确信现在是时候将Oracle 9i (9.2.0.4)数据库Oracle 10g升级了?他们想知道要升级的五条最重要的理由。我如何准备一份令人信服的报告?
Oracle 10g数据库默认安装应该注意哪些问题?本文主要介绍Oracle 10g数据库默认安装应该注意的问题。
可能不会对你建立的每个数据库用SQL Server中的每一个对象,但是你要清楚你的选择。我们会在以后向大家介绍如何创建物理模型,在那个时候我们会介绍你如何用这些物理模型解决问题的方法。
如何在SQL Server中实施子型集群?你有三种选择。首先就是创建一个单独的表表示父型特征并包含所有子型特征。第二种选择就是给每个子型创建表,给每个子表增加父型特征……
在去年11月份我将笔记本电脑从Windows XP升级到了Windows Vista系统。我在它上面安装了SQL Server 2005 Express。在本周初,我又安装了SQL Server 2005和服务包2。但是……
本篇文章主要介绍SQL Server数据存储的物理对象和原理,包括SQL Server 2005和2008里的物理数据存储、SQL Server 2008数据类型(即Datetime、字符串、自定义及等)、在SQL Server数据库中加强数据的完整性……
本文为SQL Server 2008初学者指南,主要介绍SQL Server2008 T-SQL支持的基本元素和基本操作。
本篇技术专题主要内容包括SQL Server整合、SQL Server数据库设计灾难、SQL Server数据库查询设计以及SQL Server数据库同步、复制、报告显示。
最新更新
专家答疑
技巧
Brian Peasland
我在使用这个工具的时候就出现了以上的错误。由于出现了这个错误,我就没有顺利地完成备份。你能告诉我是什么原因吗?
Rudy Limeback
我想把这些日期按照月份聚集在一起,这样我们就能查看每个售货员每个月的销售量了。我怎么才能将这些月份的日期聚集在一起呢?
Maria Anderson
我得到了一个错误信息,如“DIM-00019:创建服务错误。”我用你寄给我的解决方案解决这一问题,即:“手动创建和启动服务。”你能告诉我如何手动安装该服务吗?