面試題 innodb和myisam的區別

2021-10-06 00:00:46 字數 484 閱讀 4551

1、innodb支援事務,而myisam不支援事務。

2、innodb支援外來鍵,而myisam不支援外來鍵。

3、innodb是行鎖,而myisam是表鎖(每次更新增加刪除都會鎖住表)。

4、innodb和myisam的索引都是基於b+樹,但他們具體實現不一樣,innodb的b+樹的葉子節點是存放資料的,myisam的b+樹的葉子節點是存放指標的。

5、innodb是聚簇索引,必須要有主鍵,一定會基於主鍵查詢,但是輔助索引就會查詢兩次,myisam是非聚簇索引,索引和資料是分離的,索引裡儲存的是資料位址的指標,主鍵索引和輔助索引是分開的。

6、innodb不儲存表的行數,所以select count( * )的時候會全表查詢,而myisam會存放表的行數,select count(*)的時候會查的很快。

總結:mysql預設使用innodb,如果要用事務和外來鍵就使用innodb,如果這張表只用來查詢,可以用myisam。如果更新刪除增加頻繁就使用innodb。

mysql的innodb引擎和myisam引擎區別

首先innodb支援事務,可以進行事務的回滾,而myisam不支援事務 所以在更新比較多或者插入比較多的時候使用innodb 再者就是innodb支援的是行級鎖定 某些情況下會表級,例如出現以 開頭的模糊查詢 myisam支援的表級鎖定 表級鎖定和行級鎖定就從字面理解 即在進行表內資料的操作時,my...

面試題 InnoDB 行鎖

innodb 行鎖 行鎖介紹 行鎖特點 偏向innodb 儲存引擎,開銷大,加鎖慢 會出現死鎖 鎖定粒度最小,發生鎖衝突的概率最低,併發度也最高。innodb 與 myisam 的最大不同有兩點 一是支援事務 二是 採用了行級鎖。innodb 的行鎖模式 innodb 實現了以下兩種型別的行鎖。對於...

面試題 MySQL的innodb和myisam

1.簡介 索引是一種排好序的用於快速查詢的資料結構。根據官網手冊innodb支援b tree索引 聚簇索引 clustered indexes 全文索引 full text search indexes 不支援hash索引 innodb在內部利用雜湊索引來實現其自適應雜湊索引功能 不支援t tree...