MySQL —— 存儲引擎的 InnoDB 與 MyISAM 之爭

做爲 MySQL 數據庫的兩種主要的存儲引擎,InnoDB 與 MyISAM 各有長處。數據庫

在 MySQL 5.1 及以前的版本中,MyISAM 是默認的存儲引擎,而在 MySQL 5.5 版本之後,默認使用 InnoDB 存儲引擎。索引

MyISAM 不支持行級鎖,換句話說,MyISAM 會對整張表加鎖,而不是針對行。同時,MyISAM 不支持事務和外鍵。MyISAM 可被壓縮,存儲空間較小,並且 MyISAM 在篩選大量數據時很是快。事務

InnoDB 是事務型引擎,當事務異常提交時,會被回滾。同時,InnoDB 支持行鎖。此外,InnoDB 須要更多存儲空間,會在內存中創建其專用的緩衝池用於高速緩衝數據和索引。InnoDB 支持自動奔潰恢復特性。內存

InnoDB 與 MyISAM 的主要區別it

對於如何選擇 InnoDB 與 MyISAM 存儲引擎。im

建議:通常狀況下,應該優先選擇 InnoDB 存儲引擎,而且儘可能不要將 InnoDB 與 MyISAM 混合使用。數據

相關文章
相關標籤/搜索