Sql server 上设置的锁的粒度不同,消耗的资源也不同。行锁提高了并发性却要求更多的资源来维护,意向锁可以在一定程度上提高性能(如表级意向锁,SQL Server 仅在表级检查意向锁来确定事务是否可以安全地获取该表上的锁。而无须检查表中的每行或每页上的锁以确定事务是否可以锁定整个表。)
Sql server使用动态锁定策略确定最经济的锁。执行查询时,SQL Server 基于架构和查询的特性自动确定最合适的锁。默认获取锁的连接没有时间限制,但最好自己设置超时的最大时间,以免无限期等待。
[对于锁的详细知识参见sql server 联机从书]
设置获取锁超时时间:
SET LOCK_TIMEOUT 1800 //设置时间为1800毫秒
SELECT @@LOCK_TIMEOUT // 查看锁超时时间
――
得到的结果是:1800
如果没有设置锁超时时间,SELECT @@LOCK_TIMEOU