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為需要設置的值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM