专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

Oracle和Mysql的事务隔离级别对比

ins518 2024-10-21 07:59:14 技术文章 11 ℃ 0 评论

Oracle的事务隔离级别

在说这个话题之前,发现有好多博客将Oracle的数据库的隔离级别分成了三个,有的是两个,有点懵逼的情况下小编立即翻阅了Oracle官方文档:

译文:Oracle数据库提供了两个事务隔离级别,READ COMMITTED和SERIALIZABLE。这两个级别都提供了高度的一致性和并发性,减少了争用,并且是为实际应用程序设计的。本主题将对它们进行比较,并解释如何在它们之间进行选择。

最终确定Oracle的事务隔离级别有两种:

(1)READ COMMITTED :读已提交

(2)SERIALIZABLE:串行读取

默认隔离级别为:READ COMMITTED

查看默认隔离级别:可通过dbms_transaction包和v$transaction视图进行查看验证:

--首先创建一个事务
declare
 trans_id Varchar2(100);
 begin
 trans_id := dbms_transaction.local_transaction_id( TRUE );
 end; 
--查看事务隔离级别
SELECT s.sid, s.serial#,
CASE BITAND(t.flag, POWER(2, 28))
 WHEN 0 THEN 'READ COMMITTED'
 ELSE 'SERIALIZABLE'
 END AS isolation_level
FROM v$transaction t
JOIN v$session s ON t.addr = s.taddr AND s.sid = sys_context('USERENV', 'SID');

设置隔离级别命令: SET TRANSACTION ISOLATION LEVEL [READ COMMITTED|SERIALIZABLE]

Mysql的事务隔离级别

默认隔离级别为: REPEATABLE-READ (重复读取);

查看默认隔离级别: select @@tx_isolation;

设置隔离级别命令: set global transaction isolation level repeatable read;

喜欢的朋友通过关注点赞转发评论支持下,让小编更有动力分享哦!

近期导读:

JVM内存模型和JVM运行时数据区可不是一个概念哦!

SQL调优思路

synchronized与Lock的区别从此不会被遗忘

synchronized用法总结

OSI网络七层模型很难记忆吗?不存在的

两步实现Java自定义注解

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表