绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Firebird 事务隔离级别
2022-05-11 15:29:38

各种RDBMS事务隔离都差不多,Firebird 中大致分为3类: CONCURRENCY、READ_COMMITTED、CONSISTENCY。

在提供的数据库驱动里可设置的事务隔离级别大致如下3类,按严格性,从低到高:并发性、读提交、一致性。

复制代码
----------------------------------------------------------------------
(CONCURRENCY | NOWAIT | READ_WRITE) => Snapshot

(CONCURRENCY | NOWAIT | READ_WRITE) => RepeatableRead
----------------------------------------------------------------------
(READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE) => ReadCommitted

(READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE) => ReadUncommitted

(READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE) => Chaos

(READ_COMMITTED | REC_VERSION | NOWAIT | READ_WRITE) => Unspecified
----------------------------------------------------------------------
(CONSISTENCY | NOWAIT | READ_WRITE) => Serializable
----------------------------------------------------------------------
复制代码

种 CONCURRENCY 并发性事务隔离。

主要针对读数据,读取的是快照,即事务1按照此级别读表A条记录时,事务2也对表A的条记录修改了  并提交,此时事务1再次刷新读取(保持原事务),仍然读取到的是次的快照信息,并没有读取到事务2更新信息。

第二种 READ_COMMITTED 读提交事务隔离。

即在种情况的基础上,事务1再次刷新读取,即可读取到事务2的更新信息。也就是说事务1在不提交和回滚事务的情况下,刷新即可读取事务2的修改信息。

第三种 CONSISTENCY 一致性事务隔离。

这种隔离级别是严格的,它会对整个表上锁。假如事务1在此级别读取表A条记录,事务2不管以什么隔离级别再修改或删除 表A的任意记录 ,都是不允许,但是事务2可以查看。

来源 https://www.cnblogs.com/jonney-wang/p/11201526.html

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Firebird
创建时间:2022-03-17 14:38:16
Firebird
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • itt0918
    专家
戳我,来吐槽~