意向锁造句
- 意向锁有两种用途:
- 当锁定页时,数据库引擎将在包含页的更高级别的对象上放置意向锁。
- 除非属于临时表锁,否则意向锁、行锁和页锁都将计入升级统计中。
- 当锁定行或索引键范围时,数据库引擎将在包含行或键的页上放置意向锁。
- 第二个任务在锁定该表之前不必检查各个页锁或行锁,而只需检查该表的意向锁。
- 当特定表上意向锁、行锁和页锁的总数超出升级阈值时,就会进行升级。
- 如果另一个任务尝试在表级上应用共享锁或排他锁,它会被第一个任务所持有的表级意向锁阻塞。
- 例如,在该表的页或行上请求共享锁( s锁)之前,在表级请求共享意向锁。
- 数据库引擎使用意向锁来保护共享锁( s锁)或排他锁( x锁)放置在锁层次结构的底层资源上。
- 在表级设置意向锁可防止另一个事务随后在包含那一页的表上获取排他锁( x锁) 。
- 用意向锁造句挺难的,這是一个万能造句的方法
- 当microsoft sql server数据库引擎获取低级别的锁时,它还将在包含更低级别对象的对象上放置意向锁:
- 当事务所持有的锁的数量超出其阈值时, sql server mobile就会尝试将表上的意向锁更改为更强的锁。
- 意向锁之所以命名为意向锁,是因为在较低级别锁前可获取它们,因此会通知意向将锁放置在较低级别上。
- 意向锁可以提高性能,因为数据库引擎仅在表级检查意向锁来确定事务是否可以安全地获取该表上的锁。
- 例如, sql server数据库引擎任务在表内应用共享行锁或排他行锁之前,它在该表上放置一个意向锁。
- 例如,在行上执行表事务时, sql server mobile会自动在受影响的行上获取锁,同时将更高级别的意向锁置于包含这些行的页和表上。
- 升级锁时,数据库引擎将尝试将表上的意向锁更改为对应的全锁,例如,将意向排他锁( ix锁)更改为排他锁( x锁) ,或将意向共享锁( is锁)更改为共享锁( s锁) 。