SQL Server中的锁定 - 更新/选择

时间:2014-01-07 11:56:10

标签: sql-server-2012 locks

我是SQL Server的新手,我不确定锁定机制在这里是如何工作的。请帮忙

问题:需要删除表中接近5 mil的记录。一个网站经常从该表中提取数据。

我的理解是:删除只会锁定行,因此这不会影响网站。是对的吗?那么,如果网站试图拉出正在删除的记录会怎么样?我知道我听起来非常业余,但我非常需要了解这些基础知识。

请一位大师请分享一个链接,我可以在其中阅读有关SQL Server中各种锁的内容

1 个答案:

答案 0 :(得分:0)

是的,SQL Server在它插入/更新/删除的行上使用行级锁 - 直到某一点。

这一点大致 5000行 - 如果您尝试在单个事务中更新或删除超过 5000行,那么SQL Server将执行锁定升级并在整个表上放置独占锁(SQL Server执行锁定页面 - 它将升级到整个表 - 或分区,如果表是分区的 - 直接来自行级锁。)

从那时起,在删除事务已提交(或已回滚)之前,该表上不允许更多偶数SELECT