目前出现的主要锁类型有以下几种:
读锁:在一个事务对相应数据集进行读操作时,加入读锁。读锁又称共享锁(Shared,简称S锁),这是因为在一个事务对某数据集加入读锁后,仍然允许其他事务对该数据集进行读操作。
写锁:在一个事务对相应数据集进行写操作时,加入写锁。写锁又称排它锁(eXclusive,简称X锁),这是因为在一个事务对某数据集加入写锁后,不再允许其他事务对该数据集进行访问了。
更新锁:在一个事务对相应数据集进行更新操作时,加入更新锁。更新锁又称为U锁(Update的缩写)。一般地讲,这个锁类型不是必须的。
目前,许多大型数据库管理系统增加这种锁类型,主要是为了提高系统查询的并发性。
锁使用的基本原则归纳如下:
一个数据集加了S锁后,可以被其他事务加入S锁,但是不能再加任何的X锁或U锁;
一个数据集加了X锁后,不能再被其他事务加任何类型的锁;
一个数据集加了U锁后,考虑系统的并发效率,可以允许其他事务加入S锁,但是绝对不能允许再加任何的X锁或U锁。
在多副本的情况下,加入S锁时一般只需要对任意一个副本进行;但是加X锁时需要对所有的副本实施。
读锁:在一个事务对相应数据集进行读操作时,加入读锁。读锁又称共享锁(Shared,简称S锁),这是因为在一个事务对某数据集加入读锁后,仍然允许其他事务对该数据集进行读操作。
写锁:在一个事务对相应数据集进行写操作时,加入写锁。写锁又称排它锁(eXclusive,简称X锁),这是因为在一个事务对某数据集加入写锁后,不再允许其他事务对该数据集进行访问了。
更新锁:在一个事务对相应数据集进行更新操作时,加入更新锁。更新锁又称为U锁(Update的缩写)。一般地讲,这个锁类型不是必须的。
目前,许多大型数据库管理系统增加这种锁类型,主要是为了提高系统查询的并发性。
锁使用的基本原则归纳如下:
一个数据集加了S锁后,可以被其他事务加入S锁,但是不能再加任何的X锁或U锁;
一个数据集加了X锁后,不能再被其他事务加任何类型的锁;
一个数据集加了U锁后,考虑系统的并发效率,可以允许其他事务加入S锁,但是绝对不能允许再加任何的X锁或U锁。
在多副本的情况下,加入S锁时一般只需要对任意一个副本进行;但是加X锁时需要对所有的副本实施。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2138076/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15498/viewspace-2138076/