国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Mysql InnoDB事務的隔離級別

2019-11-08 20:57:00
字體:
來源:轉載
供稿:網友

MySQL InnoDB事務的隔離級別有四級,默認是“可重復讀”(REPEATABLE READ)。

未提交讀(READUNCOMMITTED)。另一個事務修改了數據,但尚未提交,而本事務中的SELECT會讀到這些未被提交的數據(臟讀);

提交讀(READCOMMITTED)。本事務讀取到的是最新的數據(其他事務提交后的)。問題是,在同一個事務里,前后兩次相同的SELECT會讀到不同的結果(不重復讀);

可重復讀(REPEATABLEREAD)。在同一個事務里,SELECT的結果是事務開始時時間點的狀態,因此,同樣的SELECT操作讀到的結果會是一致的。但是,會有幻讀現象(下文解釋);

串行化(SERIALIZABLE)。讀操作會隱式獲取共享鎖,可以保證不同事務間的互斥。

四個級別逐漸增強,每個級別解決一個問題。

讀取錯誤的種類:

臟讀,最容易理解。另一個事務修改了數據,但尚未提交,而本事務中的SELECT會讀到這些未被提交的數據;

不重復讀。解決了臟讀后,會遇到,同一個事務執行過程中,另外一個事務提交了新數據,因此本事務先后兩次讀到的數據結果會不一致;

幻讀。解決了不重復讀,保證了同一個事務里,查詢的結果都是事務開始時的狀態(一致性)。但是,如果另一個事務同時提交了新數據,本事務再更新時,就會“驚奇的”發現了這些新數據,貌似之前讀到的數據是“鬼影”一樣的幻覺。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泾源县| 青阳县| 华宁县| 申扎县| 镇江市| 大埔区| 沂水县| 手游| 郧西县| 五原县| 铜梁县| 兰考县| 贵港市| 深水埗区| 报价| 孝感市| 龙海市| 德钦县| 新田县| 云和县| 兴海县| 古田县| 安龙县| 房产| 沂南县| 宁远县| 黑水县| 公安县| 渝北区| 盘锦市| 洛川县| 锡林郭勒盟| 长岛县| 南漳县| 蓝田县| 龙井市| 五常市| 钟祥市| 苍梧县| 榆树市| 铁岭县|