SQL Server 2005 是否使用行级锁定或页面级锁定作为默认值? 我的一些 UPDATE 出现一些超时错误,想知道它是否与默认锁定机制有关。
SQL Server 默认始终使用row-level
锁定
如果锁定的行数超过 5000 行,则SQL Server
将执行锁定升级(锁定表而不是单独锁定超过 5000 行)以优化性能并优化资源使用情况
我的建议是保持你的交易尽可能短。或者,您可以将 with(NoLock) 用于那些不被多个用户用于连续插入的表,例如主表......
我的另一个建议是使用 SQL 事件探查器。