中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL92標準隔離級別有哪些

發布時間:2021-12-03 10:07:00 來源:億速云 閱讀:172 作者:iii 欄目:MySQL數據庫

本篇內容主要講解“SQL92標準隔離級別有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SQL92標準隔離級別有哪些”吧!                            

定義

  • Read uncommitted (讀取未提交內容)

在 Read uncommitted 級別,事務中的修改,即使沒有提交,對其他事務也都是可見的。事務可以讀取未提交的數據,這也成為臟讀(Dirty read)。這個級別會導致很多問題,從性能上說 Read uncommitted 不會比其他的級別好太多,但缺乏其他級別的好多好處,除非有非常必要的理由,在實際的應用中一般很少使用。

  • Read committed (讀取提交內容)

大多數數據庫系統的默認隔離級別都是 Read committed(但是 MySQL 不是)。Read committed 滿足前面提到的隔離性的簡單定義:一個事務開始時,只能看到已經提交的事務所做的修改。換句話說,一個事務從開始到提交之前,所做的任何修改對其他事務都是不可見的。這個級別有時候也叫做不可重復的(Nonrepeatable read),因為兩次執行同樣的查詢,可能會得到不一樣的結果。

  • Repeatable read (可重復讀)

Repeatable read 解決了臟讀問題。該級別保證了在同一個事務中多次讀取同樣的記錄的結果是一致的。但是,理論上,可重復讀隔離級別還是無法解決另一個幻讀 (Phantom read)的問題。所謂幻讀,指的是當某個事務在讀取某個范圍內的記錄時,另外一個事務又在該范圍內插入了新的記錄,當之前的事務再次讀取該范圍的記錄時,會產生幻行(Phantom row)。InnoDB 和 XtraDB 存儲引擎通過多版并發控制(MVCC,Multivesion Concurrency Control)解決了幻讀問題。

Repeatable read 是 Mysql 默認的事務隔離級別,其中 InnoDB主 要通過使用 MVVC 獲得高并發,使用一種被稱為 next-key-locking 的策略來避免幻讀。

  • Serializable (可串行化)

Serializable 是最高的隔離級別。它通過強制事務串行,避免了前面說的幻讀問題。簡單的來說,Serializable 會在讀的每一行數據上都加上鎖,所以可能導致大量的超時和鎖征用問題。實際應用中也很少用到這個隔離級別,只有在非常需要確保數據的一致性而且可以接受沒有并發的情況,才可考慮用該級別。

隔離級別

ANSI SQL92 P68-69

Level (隔離級別)Dirty read (臟讀)Non-repeatable read (不可重復讀)Phantom (幻讀)
Read uncommitted (讀取未提交內容)???
Read committed (讀取提交內容)×??
Repeatable read (可重復讀)××?
Serializable (可串行化)×××

到此,相信大家對“SQL92標準隔離級別有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

武定县| 闸北区| 兰西县| 涪陵区| 江西省| 沙雅县| 大埔县| 藁城市| 益阳市| 山阳县| 盐山县| 泉州市| 洛阳市| 兴宁市| 崇左市| 台江县| 石嘴山市| 深泽县| 青州市| 汨罗市| 东乡族自治县| 疏附县| 商南县| 陆川县| 苍溪县| 古田县| 观塘区| 井研县| 巴林左旗| 宁蒗| 雅安市| 光泽县| 呈贡县| 抚远县| 中江县| 镇江市| 萨嘎县| 阿拉善左旗| 定日县| 四平市| 舟山市|