MySQL 表引擎的區別和選擇

2021-08-28 14:26:44 字數 513 閱讀 8990

mysql 的表引擎分為innodb和myisam

支援事務和外來鍵

採用聚簇索引

資料讀取時採用行級鎖,粒度更小,併發更強

讀寫之間可併發操作,讀取時不需要加鎖,根據隔離級別的不同,讀取時遇到鎖會讀取快照

執行時會為資料建立雜湊索引,但只存在於記憶體中,停庫則丟失,重啟後需要重新建立

行級鎖定 [row-level]

對資料和索引進行分開儲存

索引快取在記憶體中,儲存的是資料的磁碟位址

資料讀取時採用表級鎖,無法實現讀寫併發,只支援讀讀併發

資料寫入優先順序高於讀取優先順序,因此大量的寫入操作會導致表的死鎖

支援 b-tree 、r-tree 、full-text 索引

表級鎖定 [table-level]

通常情況下使用innodb做為表引擎,因為其支援事務和外來鍵,以及讀寫併發

對於讀取量很大,基本沒有寫入操作的表,使用myisam做為表引擎,可加快表的讀取速度

MySQL建表引擎選擇

engine innodb使用innodb引擎 default charset utf8 資料庫預設編碼為utf 8 auto increment 1 自增鍵的起始序號為1 1.innodb,是mysql的資料庫引擎之一,為mysql ab發布binary的標準之一。從mysql 5.6開始預設使用...

mysql 表型別(儲存引擎)的選擇

外掛程式式儲存引擎是mysql資料庫最重要的特性之一,使用者可以根據應用的需要選擇ruhr儲存和索引資料,是否使用事務等。innodb和bdb提供事務安全表,其他儲存引擎都是非事務安全表 建立新錶時如果不指定儲存引擎,那麼系統就會使用預設儲存引擎,mysql5.5之前的預設引擎時myisam,之後是...

mysql儲存引擎的介紹和選擇

外掛程式式儲存引擎是mysql資料庫最重要的特性之一,支援myisam,innodb,memory,merge,bdb等多種儲存引擎,其中預設儲存引擎是myisam,使用者可以通過選擇使用不同的儲存引擎來提高應用的效率,常用儲存引擎間的區別如圖 常見儲存引擎的適用環境 1.myisam mysql預...