MyISAM 和 Innodb的差異

2021-10-23 16:16:02 字數 609 閱讀 2760

比較項

myisam

innodb

備註儲存檔案

資料和索引分別儲存,資料.myd,索引.myi。支援檔案級別的拷貝移動。

資料和索引集中儲存。.ibd。不支援檔案級別的移動,還有其他的相關檔案。

檔案移動

支援不支援

記錄儲存順序

插入順序,在表末尾插入記錄。

主鍵順序,插入是需要排序操作。

空間碎片

產生。定時整理。使用命令optimize table 實現

不會產生

事務不支援

支援外來鍵約束

不支援支援

全文索引

支援不支援(5.7後支援)

雞肋產品,mysql的全文索引不支援中文!

鎖支援表級鎖定。

行級鎖定,表級鎖定

鎖的粒度越小,併發處理能力越強。

併發能力弱強

如果沒有需求,請選擇mysql推薦的innodb!

myisam:以讀寫插入為主的應用程式。例如,部落格,新聞發布,門戶。

innodb:更新(刪除)操作也是主要操作,或者要求資料的完整性較強。併發性好,支援事務和外來鍵保證資料完整性。例如,oa辦公自動化系統。

InnoDB和MyIsAM的區別

myisam型別不支援事務處理等高階處理,而innodb型別支援 這是網上對myisam和innodb的解釋,很抽象吧,我們用白話的方式解釋一下 其實也比較簡單 所謂事務處理,就是原子性操作。打個比方,支援事務處理的innodb表,建設乙個中,發帖是給積分的。你發了乙個帖子執行乙個insert語句,...

MyISAM和InnoDB的區別

mysql預設採用的是myisam。myisam不支援事務,而innodb支援。innodb的autocommit預設是開啟的,即每條sql語句會預設被封裝成乙個事務,自動提交,這樣會影響速度,所以最好是把多條sql語句顯示放在begin和commit之間,組成乙個事務去提交。innodb支援資料行...

Myisam和InnoDB的區別

mysql預設採用的是myisam。myisam不支援事務,而innodb支援。innodb的autocommit預設是開啟的,即每條sql語句會預設被封裝成乙個事務,自動提交,這樣會影響速度,所以最好是把多條sql語句顯示放在begin和commit之間,組成乙個事務去提交。innodb支援資料行...