Mysql -- Oracle -- Sql server中默认事务隔离级别
2017-08-04 14:45
513 查看
Mysql -- Oracle -- Sql Server 中默认事务隔离级别
查看 -- 更改
未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据)
已提交读(数据库引擎的默认级别)
可重复读
可序列化(隔离事务的最高级别,事务之间完全隔离)
可串行化比较严谨,级别高;
MySQL
mysql默认的事务处理级别是'REPEATABLE-READ',也就是可重复读
1.查看当前会话隔离级别
select @@tx_isolation;
2.查看系统当前隔离级别
select @@global.tx_isolation;
3.设置当前会话隔离级别
set session transaction isolatin level repeatable read;
4.设置系统当前隔离级别
set global transaction isolation level repeatable read;
Oracle
oracle数据库支持READ COMMITTED 和 SERIALIZABLE这两种事务隔离级别。
默认系统事务隔离级别是READ COMMITTED,也就是读已提交
1.查看系统默认事务隔离级别,也是当前会话隔离级别
--首先创建一个事务
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');
SQL Server
默认系统事务隔离级别是read committed,也就是读已提交
1.查看系统当前隔离级别
DBCC USEROPTIONS
isolation level 这一项的 Value 既是当前的隔离级别设置值
2.设置系统当前隔离级别
SET TRANSACTION ISOLATION LEVEL Read UnCommitted;
其中Read UnCommitted为需要设置的值
相关文章推荐
- mysql,oracle,sql server中的默认事务隔离级别查看,更改
- SQL SERVER、MYSQL、ORACLE的默认端口及驱动
- Mysql,sql server,oracle默认端口号
- 【转】Java连接Mysql,SQL Server, Access,Oracle
- sqlserver、mysql、oracle的默认端口号和连接字符串
- 数据库隔离级别---MySQL的默认隔离级别就是Repeatable,Oracle默认Read committed,最高级别Serializable
- SQL Server 和 Oracle 以及 MySQL 有哪些区别?
- Navicat for mysql、SQL Server、Oracle
- SQL Server 和 Oracle 以及 MySQL 区别
- mysql sql server oracle 都表关联更新
- Nginx配置WebService、MySQL、SQL Server、ORACLE等代理
- Mybatis中oracle、mysql、db2、sql server的like模糊查询
- sql获取随机记录(MYSQL,ACCESS,ORACLE,SQL Server)
- oracle,sql server,MySQL
- sql server,mysql,oracle三者的区别
- Oracle,Mysql,SQL Server等数据库取前N条记录的不同写法 (有点发现)
- DB2、Oracle、mysql和sql server区别
- Spring连接MySQL、Oracle和SQL Server
- Oracle 和 SQL Server 之间数据类型的默认映射情况
- Sql server,Oracle,MySQL随机查询记录