高效能mysql筆記---mysql架構[-1-]
1.隔離級別
Read uncommitted:事務可以讀取為提交的資料,髒讀。
Read Committed:只能讀取到已經提交的資料,也稱不可重複讀。
Repeatable Read:保證在同一個事務中,讀取同樣是資料的一致性。可能出現幻讀,幻讀:當一個事務在讀取某一範圍的資料,另一個事務讀該範圍的資料進行插入,就會出現幻行,InnoDB和XtraDB儲存引擎採用MMVC解決了幻讀。(mysql default)
Serializable:每讀取一行資料,都會進行加鎖,存在鎖競爭。
2.mysql預設採用AutoCommit模式。
show variables like ‘autocommit’;
set autocommit = 1;
1或者ON表示啟用(mysql default)
0或者或表示禁用。
當處於禁用狀態下,所有查詢都在一個事務中執行,直到顯示呼叫commit或者rollback,該事務結束,同時又開始呼叫另外一個事務。
3.MMVC(多版本併發控制)
a.查詢:查詢版本<=當前事務版本,確保事務讀取到的行,要麼事務開始前已經存在,要麼事務自身插入或修改的。
b.刪除:查詢版本>=當前事務版本,確保事務讀取到的行,在事務開始之前未被刪除。
op:
Insert :儲存當前系統版本為行版本號。
Delete:儲存當前系統版本號作為行刪除標識。
Update:儲存當前系統版本為行版本號,當前系統版本號作為行刪除標識。
優點:大多數操作不需要加鎖。
缺點:需要額外的儲存空間,更多的行檢查工作,以及一些額外的維護。
只工作在Repeatable Read、Read Committed這倆個隔離級別。
相關文章
- 《高效能MySQL》筆記-整體架構MySql筆記架構
- 高效能 MySQL【筆記】-架構與歷史MySql筆記架構
- MySQL提升筆記(1):MySQL邏輯架構MySql筆記架構
- Mysql學習筆記---MySQL叢集架構之擴容方案MySql筆記架構
- JAVANIO學習筆記1-架構簡介Java筆記架構
- MySQL主從原理, 高可用架構與高效能架構MySql架構
- 《高效能MySQL》筆記-併發控制MySql筆記
- MySQL叢集架構:MHA+MySQL-PROXY+LVS實現MySQL叢集架構高可用/高效能MySql架構
- 高效能MySQL—第一章 MySQL架構與歷史MySql架構
- 高效能mysql筆記---mysql伺服器效能剖析[-2-]MySql筆記伺服器
- [高效能MYSQL學習筆記]事務MySql筆記
- MySql架構MySql架構
- 《高效能Mysql 第三版》筆記MySql筆記
- 高效能MySQL讀書筆記---索引優化MySql筆記索引優化
- 【MySQL】如何構建高效能MySQL系統MySql
- 《高效能MySQL》筆記——MySQL建表資料型別的選擇MySql筆記資料型別
- MySQL系列-- 1.MySQL架構MySql架構
- MySQL的架構MySql架構
- Mysql架構理解MySql架構
- MySQL整體架構與記憶體結構MySql架構記憶體
- MySQL筆記MySql筆記
- Mysql 筆記MySql筆記
- MySQL體系架構MySql架構
- MySQL基礎架構MySql架構
- mysql叢集架構MySql架構
- MySQL Server架構概述MySqlServer架構
- MySQL 基礎架構MySql架構
- MySQL 高可用架構 - MHA環境部署記錄MySql架構
- MySQL高可用架構-MHA環境部署記錄MySql架構
- MySQL高可用架構-MMM環境部署記錄MySql架構
- MySQL 高可用架構之 MMM 架構MySql架構
- CMake構建學習筆記1-概述筆記
- 高效能MySQL.讀書筆記(六)高可用性MySql筆記
- MySql索引筆記MySql索引筆記
- mysql CRUD筆記MySql筆記
- MYSQL筆記01MySql筆記
- Mysql 工作筆記MySql筆記
- 高效能Mysql主從架構的複製原理及配置詳解MySql架構