您的位置:首页 > 博客中心 > 数据库 >

MVCC SQLSERVER的快照隔离级别

时间:2022-03-10 17:47

4GBase8的特性

在 GBase 中的查询功能通过 MVCC 提供的一致性非锁读(在下文我们简称为一致性读),就是提供通过数据库在一个时间点上的快照来实现信息的查询。查询只是对那些在这个时间点之前提交的所做的变更,而并不关注在时间点之后的变更或未提交的事务。当然,若是该自身进行的变更,对于查询是可见的。
GBase 的默认级别是 READ COMMITTED ,在该隔离级别下中的查询语句,使用当前进行一致性读,每次查询的时间戳是不相同的。
但对 REPEATABLE READ ,在同一个中的所有一致性读,使用的均是第一个查询的时间戳,这样读取的也就是由该事务第一次读建立起来的数据快照。用户只有通过提交当前,并发出一个新的查询才会得到新的数据快照。
一致性读是 GBase 在 READ COMMITTED 和 REPEATABLE READ 下,处理 SELECT 语句中使用的默认模式。一致性读在它读的数据上不设置任何锁,因此在一致性读某个表的同时,其它用户均可以修改这个表。
注意在 DROP TABLE 和 ALTER TABLE 运作时,一致性读无效 。一致性读在 DROP TABLE 上无效是因为 GBase 不能使用已经 drop 的表,该表已经删除。一致性读在 ALTER TABLE 上无效是因为 GBase 会在内,重新创建一个新表并从旧表向新表插入记录。这样当用户再次执行一致性读时,在新表中将看不到任何行,因为在新表中的数据都在第一次一致性读的快照之外。
 

MVCC SQLSERVER的快照隔离级别,布布扣,bubuko.com

热门排行

今日推荐

热门手游