我想在将数据插入表时在sql server中使用ROWLOCK选项。它以任何方式有帮助吗?它会帮助我减少数据库中的阻塞吗?
答案 0 :(得分:2)
使用ROWLOCK是对SQL Server查询优化器的一个提示,你比它对这个SQL查询更了解。它基本上表示锁定受查询的FROM子句影响的表/视图行,而不是升级到页面或表锁。
如果由经验丰富的开发人员或管理员申请,可能会帮助在非常具体的情况下阻止。但总的来说,我会将锁定策略留给查询优化器,除非您已经清楚地确定锁定没有针对特定查询有效地完成。
SQL Server 2005有good article on lock escalation,但我相信SQL Server 2008中有一些更改。有一个decent article on locking in SQL Server 2008。