Mysql中MyISAM與InnoDB引擎的區別

2021-10-09 07:07:40 字數 665 閱讀 2777

innodb: mysql 5.5.5版本之後為預設儲存引擎。innodb 是乙個事務安全(與 acid 相容)的mysql儲存引擎,它具有提交、回滾和崩潰恢復功能來保護使用者資料。innodb 行級鎖(不公升級為更粗粒度的鎖)和 oracle風格的一致非鎖讀提高了多使用者併發性和效能。innodb 將使用者資料儲存在聚集索引中,以減少基於主鍵的常見查詢的i/o。為了保持資料完整性,innodb 還支援外來鍵引用完整性約束。

特點:支援事務,支援外來鍵,因此資料的完整性、一致性更高。

支援行級別的鎖和表級別的鎖。 支援讀寫併發,寫不阻塞讀(mvcc)。 特殊的索引存放方式,可以減少 io,提公升查詢效率。

適合:經常更新的表,存在併發讀寫或者有事務處理的業務系統。

myisam:應用範圍比較小。表級鎖定限制了讀/寫的效能,因此在 web 和資料倉儲配置中,它通常用於唯讀或以讀為主的工作。

特點:支援表級別的鎖(插入和更新會鎖表)。不支援事務。 擁有較高的插入(insert)和查詢(select)速度。 儲存了表的行數(count速度更快)。

(怎麼快速向資料庫插入 100 萬條資料?我們有一種先用 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型別欄位的索引 很難...