国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

mysql、oracle默認事務隔離級別的說明

瀏覽:3日期:2023-10-06 15:53:44
1.事務的特性(ACID)

(1)原子性(Atomicity)。事務中所涉及的程序對數據庫的修改操作要么全部成功,要么全部失敗。

(2)一致性(Consistency)。事務執行前和執行后來源和去向保持平衡。

(3)隔離性(Isolation)。并發時每個事務是隔離的,相互不影響。

(4)持久性(Durubility)。一旦事務成功提交,應該保證數據的完整存在。

2.事務隔離級別

(1)read uncommitted 未提交讀

所有事務都可以看到沒有提交事務的數據。

(2)read committed 提交讀

事務成功提交后才可以被查詢到。

(3)repeatable 重復讀

同一個事務多個實例讀取數據時,可能將未提交的記錄查詢出來,而出現幻讀。mysql默認級別

(4)Serializable可串行化

強制的進行排序,在每個讀讀數據行上添加共享鎖。會導致大量超時現象和鎖競爭。

mysql、oracle默認事務隔離級別的說明

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_levelFROM v$transaction tJOIN v$session s ON t.addr = s.taddr AND s.sid = sys_context(’USERENV’, ’SID’);

補充:SQLserver鎖和事務隔離級別

隔離級別 隔離級別 臟讀 不可重復讀 幻象 說明 未提交讀(read uncommitted) 是 是 是 如果其他事務更新,不管是否提交,立即執行 提交讀(read committed默認) 否 是 是 讀取提交過的數據。如果其他事務更新沒提交,則等待 可重復讀(repeatable read) 否 否 是 查詢期間,不允許其他事務update 可串行讀(serializable) 否 否 否 查詢期間,不允許其他事務insert或delete 請求模式 IS S U IX SIX X 意向共享(IS) 是 是 是 是 是 否 共享(S) 是 是 是 否 否 否 更新(U) 是 是 否 否 否 否 意向排它(IX) 是 否 否 是 否 否 與意向排它共享(SIX) 是 否 否 否 否 否 排它(X) 否 否 否 否 否 否 鎖

共享鎖:為了共享讀(select),如果存在事務(一個或多個)擁有對表中數據(關于鎖數據的多少,視鎖的粒度而定)的共享鎖,不允許對鎖定的數據進行更新(update)

排他鎖:只能有一個,其他的事務就不能對鎖定的數據獲取共享鎖和排他鎖(即排他鎖與共享鎖不能兼容,更多信息請查看鎖兼容性),在此特別強調一下 鎖定的數據。

鎖與隔離級別

類型1

① READUNCOMMITTED:不發出鎖

② READCOMMITTED:發出共享鎖,保持到讀取結束

③ REPEATABLEREAD:發出共享鎖,保持到事務結束

④ SERIALIZABLE:發出共享鎖,保持到事務結束

類型2

① NOLOCK:不發出鎖。等同于READUNCOMMITTED

② HOLDLOCK:發出共享鎖,保持到事務結束。等同于SERIALIZABLE

③ XLOCK:發出排他鎖,保持到事務結束。

④ UPDLOCK:發出更新鎖,保持到事務事務結束。(更新鎖:不阻塞別的事物,允許別的事物讀數據(即更新鎖可與共享鎖兼容),但他確保自上次讀取數據后數據沒有被更新)

⑤ READPAST:發出共享鎖,但跳過鎖定行,它不會被阻塞。適用條件:提交讀的隔離級別,行級鎖,select語句中。

類型3

① ROWLOCK:行級鎖

② PAGLOCK:頁級鎖

③ TABLOCK:表鎖

④ TABLOCKX:表排他鎖

在SELECT語句中使用XLOCK并不能阻止讀。這是因為SQL SERVER在讀提交隔離級別上有一種特殊的優化,即檢查行是否已被修改,如果未被修改則忽略XLOCK。因為在讀提交隔離級別上這確實是可以接受的。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 大片在线播放日本一级毛片 | 免费逼片| 国产精品久久久久久麻豆一区 | 欧美高清性刺激毛片 | 成年人黄色免费网站 | 午夜两性视频免费看 | 国产一区二区在线观看视频 | 国产网站在线看 | 亚洲国产国产综合一区首页 | 在线免费观看一级片 | 欧美日韩国产免费一区二区三区 | 亚洲黄色在线视频 | 国产欧美一区二区三区在线 | 国产精品无码久久综合网 | 玖玖这里只有精品 | 国产中文字幕在线免费观看 | 亚洲免费网 | 很黄很色的免费视频 | 亚洲欧美中文在线观看4 | 韩国一级淫片视频免费播放 | 日本红怡院亚洲红怡院最新 | 中国美女一级片 | 手机在线观看亚洲国产精品 | 在线国产观看 | 中文字幕在线乱码不卡区区 | 国产亚洲精 | 亚洲国产老鸭窝一区二区三区 | 亚洲欧美手机在线观看 | 欧美在线成人午夜影视 | 欧美日韩 国产区 在线观看 | 99视频在线精品免费 | 成人爽a毛片在线视频网站 成人爽爽大片在线观看 | 国产图片亚洲精品一区 | 美女福利视频国产片 | 久久久这里只有精品免费 | 国产va精品网站精品网站精品 | 国产日产韩产麻豆1区 | 久久久久久国产精品免费 | 亚洲欧美在线免费观看 | 亚洲涩涩精品专区 | 国产精选91热在线观看 |