MVCC與MySQL各大引擎介紹

2021-10-11 11:45:23 字數 633 閱讀 8378

多版本併發控制是mysql的innodb採用的併發控制方案,在可重複讀下預設使用該併發控制方案

原理:

總結:通過多條記錄,多版本,只做增量的方式來保證可重複讀和併發控制(版本校驗)

索引和資料分開在兩個檔案,因此支援行鎖效能不好保障,所以沒有設計支援行鎖和事務

崩潰後資料恢復困難

但是myisam的儲存是緊密儲存,結構簡單,適用於唯讀資料庫(一經匯入不再修改),可以提高更好的效能

對其進行壓縮後得到壓縮表,一般用於唯讀資料

b+樹儲存索引和資料,葉節點就是資料

支援行鎖和事務

但是因為結構原因,每個非主鍵索引的物理結構實際都包含主鍵資料

所以該引擎下,如果表主鍵結構資料較大,應該減少非主鍵索參數量

專門用於頻繁插入型別的資料庫引擎

只支援插入和查詢,對插入操作快取到記憶體,並且對插入行進行壓縮

查詢需要全表查詢,適合log類,低查詢,只插入

一般用於轉化excel檔案資料到資料庫,方便資料操作

可以將逗號分割的文字檔案作為mysql表處理

資料直接存到記憶體,重啟資料清空,僅保留表結構

mysql執行查詢過程中需要暫存中間結果的表就是memory表

負責mysql分布式與集群系統的實現

MySQL各大儲存引擎

最好先看下你下的mysql支援什麼資料庫引擎 儲存引擎主要有 1.myisam 2.innodb,3.memory,4.blackhole,5.csv,6.performance schema,7.archive,8.federated 9 mrg myisam 1 innodb 定義 預設的儲存引...

mysql所有引擎級特點 mysql 引擎介紹

一 myisam 引擎 1.1 myisam引擎的特點 1 不支援事務 2 表級鎖定,更新時鎖定整個表 3 讀寫互相阻塞 4 只會快取索引,通過key buffer size 快取索引 5 讀取速度快,占用資源相對少 6 不支援外來鍵約束,但支援全文索引 7 myisam 引擎是mysql 5.5 ...

MySQL隔離級別,鎖與MVCC

篇幅有限,相關概念可先閱讀 本文意在弄清楚這些概念間的關係及其作用。弄清mysql在開啟事務的情況下,每條sql執行時的加鎖操作和mvcc版本控制。為使討論簡單,本文忽略了gap鎖 間隙鎖 範圍鎖 我們經常所高併發,高可用。就是從質和量來評估,任何事物都可以從這兩個角度來分析。在mysql資料庫中,...