定義
MyISAM:MySQL Indexed Sequential Access Method(有索引的順序存取方法)
InnoDB
比較表
項目/資料表類型 | MyISAM | InnoDB | 備註 |
---|---|---|---|
效能 | 較佳 | 較差 |
|
交易 (Transaction) |
X(不支援) | O(支援) | InnoDB在進行連續的資料異動(交易),如果發生錯誤的話可以還原至錯誤交易發生前的正常狀態,MyISAM因不支援交易,所以沒辦法進行還原 |
錯誤處理 | 較差 | 較佳 |
|
穩定性 | 較差 | 較佳 | 因為InnoDB發生錯誤時的處理較MyISAM好,所以穩定性較佳 |
讀/寫/快取 | 較差 | 較佳 | InnoDB有自己的讀寫快取管理機制,MyISAM則必須依靠作業系統來管理讀取與寫入的快取 |
記憶體使用 | 較佳 | 較差 | InnoDB目前並不支援MyISAM所提供的壓縮與 terse row formats,所以對硬碟與快取記憶體的使用量較大。因此MySQL從5.0版開始,提供另一個負載較輕的格式,他可減少約略 20% 的系統負載,而壓縮功能已計畫於未來的新版中推出。 |
外來鍵 (Foreign Key) |
X(不支援) | O(支援) | 無 |
主鍵 (Primary Key) |
依需求 | 必須要有 | InnoDB如果沒有設定主鍵或者非空唯一索引,就會自動生成一個6字元的主鍵(不可見) |
count(*) (From All Table) |
較佳 | 較差 |
|
全文檢索 (Full Text Search) |
O(支援) | 5.6.4+支援 | 無 |
DELETE FROM Table | 較佳 | 較差 |
|
索引保存 | 表格名稱.MYI的檔案 | 與資料一起保存 | 無 |
鎖表 (Lock Table) |
Tabel-level | Row-level |
|
建議 | 搜尋資料 | 異動資料 |
|
沒有留言:
張貼留言