MySQL中MyISAM與InnoDB區別及選擇

2021-08-26 05:41:34 字數 714 閱讀 3279

innodb:

支援事務處理等

不加鎖讀取

支援外來鍵

支援行鎖

不支援fulltext型別的索引

不儲存表的具體行數,掃瞄表來計算有多少行

delete 表時,是一行一行的刪除

innodb 把資料和索引存放在表空間裡面

跨平台可直接拷貝使用

innodb中必須包含auto_increment型別欄位的索引

**很難被壓縮

myisam:

不支援事務,回滾將造成不完全回滾,不具有原子性

不支援外來鍵

支援全文搜尋

儲存表的具體行數,不帶where時,直接返回儲存的行數

delete 表時,先drop表,然後重建表

myisam 表被存放在三個檔案 。frm 檔案存放**定義。 資料檔案是myd (mydata) 。 索引檔案是myi (myindex)引伸

跨平台很難直接拷貝

myisam中可以使auto_increment型別字段建立聯合索引

**可以被壓縮

選擇:因為myisam相對簡單所以在效率上要優於innodb.如果系統讀多,寫少。對原子性要求低。那麼myisam最好的選擇。且myisam恢復速度快。可直接用備份覆蓋恢復。

如果系統讀少,寫多的時候,尤其是併發寫入高的時候。innodb就是首選了。

兩種型別都有自己優缺點,選擇那個完全要看自己的實際類弄。

MySQL中MyISAM與InnoDB區別

mysql中myisam與innodb區別 myisam innodb 事物處理 不支援支援 外來鍵不支援 支援行鎖 不支援支援 全文索引 支援不支援 表的具體行數 儲存表的具體行數 掃瞄表來計算行數 delete表時 先drop表,然後重建表 一行一行的刪除 索引和資料 分開的,並且索引是有壓縮的...

MySQL中MyISAM與InnoDB區別及選擇

innodb 支援事務處理等 不加鎖讀取 支援外來鍵 支援行鎖 不支援fulltext型別的索引 不儲存表的具體行數,掃瞄表來計算有多少行 delete 表時,是一行一行的刪除 innodb 把資料和索引存放在表空間裡面 跨平台可直接拷貝使用 innodb中必須包含auto increment型別欄...

MySQL中MyISAM與InnoDB區別及選擇

支援事務處理等 不加鎖讀取 支援外來鍵 支援行鎖 不支援fulltext型別的索引 不儲存表的具體行數,掃瞄表來計算有多少行 delete 表時,是一行一行的刪除 innodb 把資料和索引存放在表空間裡面 跨平台可直接拷貝使用 innodb中必須包含auto increment型別欄位的索引 很難...