LOCK MODE 子句

使用 LOCK MODE 关键字更改表的锁定粒度。
LOCK MODE 子句

下表描述了可用的锁定粒度选项。

粒度
作用
PAGE
在一整页的行上获取并释放一个锁

这是缺省锁定粒度。当您知道行分组到各页所依照的顺序与您正在用来处理所有行的顺序相同时,页级别锁定就特别有用。例如,如果您依照与表的集群索引相同的顺序来处理表的内容,页锁定就特别合适。

ROW
在每一行上获取并释放一个锁

行级别锁定提供最高级别的并发性。只有具有行级别锁定的表才支持 LAST COMMITTED 功能,当有另一个会话在您尝试读取的行上持有互斥锁时,它会提高 Committed Read 和 Dirty Read 隔离级别的性能。然而如果您正在一次使用许多行,则锁管理开销可能变得很重要。根据您的数据库服务器的配置,也可以超出可用锁的最大数目。

以下语句更改将 customer 表的锁定方式更改为页级别锁定:
ALTER TABLE customer LOCK MODE(page);
下一示例将 customer 表的锁定方式更改为行级别说点:
ALTER TABLE customer LOCK MODE(row);