InnoDB與MyISAM的區別

2022-05-02 10:15:07 字數 445 閱讀 5445

1)儲存結構上不同:

myisam非聚簇索引,資料在磁碟上分成3個資料檔案存放,.frm字尾檔案是表結構檔案,.myd字尾是表資料檔案,.myi是表索引檔案。

innodb聚簇索引,資料(表結構、資料、索引)都存放在乙個資料檔案(也可能多個,但是是不同的表空間)。

2)儲存空間不同:

myisam可被壓縮,儲存空間小。可儲存靜態表、動態表、壓縮表。

innodb需要更多的記憶體和儲存,它會在主記憶體中建立其專用的緩衝池用於高速緩衝資料和索引。

3)支援事務不同

myisam不支援事務,innodb支援事務

4)外來鍵

myisam不支援外來鍵,innodb支援外來鍵

5)全文索引

myisam支援全文型別索引,而innodb不支援全文索引。

6)鎖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型別欄位的索引 很難...