乱码乱a∨中文字幕,在线免费激情视频,亚洲欧美久久夜夜潮,国产在线网址

  1. <sub id="hjl7n"></sub>

    1. <sub id="hjl7n"></sub>

      <legend id="hjl7n"></legend>

      當(dāng)前位置:首頁 >  站長 >  數(shù)據(jù)庫 >  正文

      mysql oracle默認(rèn)事務(wù)隔離級別的說明

       2021-01-21 15:57  來源: 腳本之家   我來投稿 撤稿糾錯

        阿里云優(yōu)惠券 先領(lǐng)券再下單

      這篇文章主要介紹了mysql、oracle默認(rèn)事務(wù)隔離級別的說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

      1.事務(wù)的特性(ACID)

      (1)原子性(Atomicity)。事務(wù)中所涉及的程序?qū)?shù)據(jù)庫的修改操作要么全部成功,要么全部失敗。

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

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

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

      2.事務(wù)隔離級別

      (1)read uncommitted 未提交讀

      所有事務(wù)都可以看到?jīng)]有提交事務(wù)的數(shù)據(jù)。

      (2)read committed 提交讀

      事務(wù)成功提交后才可以被查詢到。

      (3)repeatable 重復(fù)讀

      同一個事務(wù)多個實例讀取數(shù)據(jù)時,可能將未提交的記錄查詢出來,而出現(xiàn)幻讀。mysql默認(rèn)級別

      (4)Serializable可串行化

      強制的進行排序,在每個讀讀數(shù)據(jù)行上添加共享鎖。會導(dǎo)致大量超時現(xiàn)象和鎖競爭。

      MySQL

      mysql默認(rèn)的事務(wù)處理級別是'REPEATABLE-READ',也就是可重復(fù)讀

      1.查看當(dāng)前會話隔離級別

      select @@tx_isolation;

      2.查看系統(tǒng)當(dāng)前隔離級別

      select @@global.tx_isolation;

      3.設(shè)置當(dāng)前會話隔離級別

      set session transaction isolatin level repeatable read;

      4.設(shè)置系統(tǒng)當(dāng)前隔離級別

      set global transaction isolation level repeatable read;

      Oracle

      oracle數(shù)據(jù)庫支持READ COMMITTED 和 SERIALIZABLE這兩種事務(wù)隔離級別。

      默認(rèn)系統(tǒng)事務(wù)隔離級別是READ COMMITTED,也就是讀已提交

      1.查看系統(tǒng)默認(rèn)事務(wù)隔離級別,也是當(dāng)前會話隔離級別

      --首先創(chuàng)建一個事務(wù)

      declare
      trans_id Varchar2(100);
      begin
      trans_id := dbms_transaction.local_transaction_id( TRUE );
      end;

      --查看事務(wù)隔離級別

      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');

      補充:SQLserver鎖和事務(wù)隔離級別

      隔離級別

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

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

      鎖與隔離級別

      類型1

      ① READUNCOMMITTED:不發(fā)出鎖

      ② READCOMMITTED:發(fā)出共享鎖,保持到讀取結(jié)束

      ③ REPEATABLEREAD:發(fā)出共享鎖,保持到事務(wù)結(jié)束

      ④ SERIALIZABLE:發(fā)出共享鎖,保持到事務(wù)結(jié)束

      類型2

      ① NOLOCK:不發(fā)出鎖。等同于READUNCOMMITTED

      ② HOLDLOCK:發(fā)出共享鎖,保持到事務(wù)結(jié)束。等同于SERIALIZABLE

      ③ XLOCK:發(fā)出排他鎖,保持到事務(wù)結(jié)束。

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

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

      類型3

      ① ROWLOCK:行級鎖

      ② PAGLOCK:頁級鎖

      ③ TABLOCK:表鎖

      ④ TABLOCKX:表排他鎖

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

      以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教

      來源:腳本之家

      鏈接:https://www.jb51.net/article/204320.htm

      申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

      相關(guān)標(biāo)簽
      mysql

      相關(guān)文章

      • MySQL5.7 集群配置的步驟

        這篇文章主要介紹了MySQL5.7集群配置的步驟,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下

        標(biāo)簽:
        mysql
      • MySQL中觸發(fā)器和游標(biāo)的介紹與使用

        這篇文章主要給大家介紹了關(guān)于MySQL中觸發(fā)器和游標(biāo)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

        標(biāo)簽:
        mysql
      • MySQL中exists、in及any的基本用法

        這篇文章主要給大家介紹了關(guān)于MySQL中exists、in及any的基本用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

        標(biāo)簽:
        mysql
      • MySQL正確修改最大連接數(shù)的3種方案

        這篇文章主要給大家介紹了關(guān)于MySQL正確修改最大連接數(shù)的3種方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

        標(biāo)簽:
        mysql
      • 教你怎么在Windows系統(tǒng)上手動搭建MySql數(shù)據(jù)庫

        1.已經(jīng)購買好的騰訊云輕量應(yīng)用服務(wù)器。2.作者本次演示使用的系統(tǒng)是WindowsServer2019,其他windows版本也可以,操作流程大同小異。3.使用Windows遠(yuǎn)程桌面連接騰訊云輕量服務(wù)器。

      熱門排行

      信息推薦