减少MS SQL死锁技巧
来源:互联网 发布:python画韦恩图 编辑:程序博客网 时间:2024/05/21 11:13
一、减少MS SQL死锁技巧
1.使用事务时,尽量缩短事务的逻辑处理过程,及早提交或回滚事务.
2.在事务期间禁止任何用户输入。应当在事务开始之前收集用户输入。
4.一般不要修改SQL SERVER事务的默认级别。不推荐强行加锁
二、几则实践中很有用的小技巧
1.使用SQL Server Profiler的Create Trace Wizard运行“Identify The Cause of a Deadlock”跟踪来辅助识别死锁问题,它将提供帮助查找数据库产生死锁原因的原始数据
2.可能地简化所有T-SQL事务。此举将减少各种类型的锁的数量,有助于提高SQL Server应用的整体性能。如果可能的话,应将较复杂的事务分割成多个较简单的事务
3.所有条件逻辑、变量赋值以及其他相关的预备设置操作应当在事务之外完成,而不应该放到事务之内。永远不要为了接受用户输入而暂停某个事务,用户输入应当总是在事务之外完成
4.在存储过程内封装所有事务,包括BEGIN TRANSACTION和COMMIT TRANSACTION语句。此举从两个方面帮助减少阻塞的锁。首先,它限制了事务运行时客户程序和SQL Server之间的通信,从而使得两者之间的任何消息只能出现于非事务运行时间(减少了事务运行的时间)。其次,由于存储过程强制它所启动的事务或者完成、或者中止,从而防止了用户留下未完成的事务(留下未撤销的锁)
5.如果客户程序需要先用一定的时间检查数据,然后可能更新数据,也可能不更新数据,那么最好不要在整个记录检查期间都锁定记录。假设大部分时间都是检查数据而不是更新数据,那么处理这种特殊情况的一种方法就是:先选择出记录(不加UPDATE子句。UPDATE子句将在记录上加上共享锁),然后把它发送给客户。
如果用户只查看记录但从来不更新它,程序可以什么也不做;反过来,如果用户决定更新某个记录,那么他可以通过一个WHERE子句检查当前的数据是否和以前提取的数据相同,然后执行UPDATE
- 减少MS SQL死锁技巧
- SQL SERVER如何减少死锁
- ms sql 检索死锁进程
- 减少SQLServer数据库死锁的技巧
- MS sql 小技巧
- 减少SQL Server死锁的方法
- 减少SQL Server数据库死锁的方法
- MS SQL(SQL Server)技巧
- 解决MS SQL Server 死锁的问题
- 如何减少SQL Server死锁发生的情况
- 如何减少SQL Server死锁发生的情况
- 如何减少SQL Server死锁发生的情况
- MS SQL的连接处理技巧
- 技巧:MS SQL压缩数据库日志方法
- MS-SQL开发常用汇总和t-sql技巧集锦
- MS-SQL开发常用汇总和t-sql技巧集锦
- MS-SQL开发常用汇总和t-sql技巧集锦
- MS-SQL开发常用汇总和t-sql技巧集锦
- PrintWriter类的自动刷新
- VMRuntime.getRuntime().setMinimumHeapSize(4 * 1024 * 1024); android 堆内存
- Connection reset by peer的常见原因
- 在winPE中检测不到硬盘的一点启示
- 如何在Gmail中搜索特定时间段的邮件
- 减少MS SQL死锁技巧
- 程序中判断Android系统版本
- 练习七:求子数列的最大和
- 创建自定义验证控件,以验证多行文本框中内容长度为例
- 【myeclipse】常用快捷键整理 待添加
- 国外的53个优秀技术博客-53 Of The Best Tech Blogs Out There
- sql语句技巧,不敢独享,特此呈上
- QT Gui程序中实现 sleep功能
- CSS给定容器宽度下截取字符串