MySQL儲存引擎

2021-09-28 07:24:46 字數 721 閱讀 1526

innodb

myisam

比較innodb

是 mysql 預設的事務型儲存引擎,只有在需要它不支援的特性時,才考慮使用其他儲存引擎。

實現了四個標準隔離級別,預設級別是可重複讀。在可重複讀隔離級別下,通過多版本併發控制(mvcc)+ 間隙鎖(next-key locking)防止幻影讀。

主索引是聚簇索引,在索引中儲存了資料,從而避免直接讀取磁碟,因此對查詢效能有很大的提公升。

內部做了很多優化,包括從磁碟讀取資料時採用的可**性讀、能夠加快讀操作並且自動建立的自適應雜湊索引、能夠加速插入操作的插入緩衝區等。

myisam

設計簡單,資料以緊密格式儲存。對於唯讀資料,或者表比較小、可以容忍修復操作,則依然可以使用它。

提供了大量的特性,包括壓縮表、空間資料索引等。

不支援事務。

不支援行級鎖,只能對整張表加鎖,讀取時需要讀到的所有表加共享鎖,寫入時則對錶加排它鎖。但在表有讀取操作的同時,也可以往表中插入新的記錄,這被稱為併發插入。

可以手工或者自動執行檢查和修復操作,但是和事務恢復以及崩潰恢復不同,可能導致一些資料丟失,而且修復操作是非常慢的。

如果指定了 delay_key_write 選項,在每次修改執行完成時,不會立即將修改的索引資料寫入磁碟,而是會寫到記憶體中的鍵緩衝區,只有在清理鍵緩衝區或者關閉表的時候才會將對應的索引塊寫入磁碟。這種方式極大的提公升寫入效能,但是在資料庫或者主機崩潰時會造成索引損壞,需要執行修復操作。

mysql儲存引擎 mysql儲存引擎簡介

精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...

mysql個儲存引擎 MySQL儲存引擎

mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 儲存引擎 其實就是指定表如何儲存資料,如何為儲存的資料建立索引以及如何更新 查詢資料等技術實現的方法...

mysql儲存引擎模式 mysql儲存引擎

mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 一 儲存引擎 儲存引擎 其實就是指定 表 如何儲存資料,如何為儲存的資料 建立索引以及 如何更新,查...