1. 程式人生 > >MySQL進階之存儲引擎MyISAM與InnoDB的區別

MySQL進階之存儲引擎MyISAM與InnoDB的區別

存儲引擎 內存數據 數據庫管理系統 l數據庫 cms 就是 innodb 後臺 ODB

一、存儲引擎(表類型)

通常意義上,數據庫就是數據的集合,具體到計算機數據庫可以是存儲器上一些文件的集合或一些內存數據的集合。我們通常說的MySQL數據庫、sql Server數據庫等其實是數據庫管理系統(Database Management System,即DBMS),它們可以存儲數據,並提供查詢和更新等功能。

存儲引擎就是如何為存儲的數據建立索引、如何更新、查詢數據等技術的實現方法。因為在關系數據庫中數據的存儲是以表的形式存儲的,所以存儲引擎也稱為表類型。

二、InnoDB和MyISAM

InnoDB和MyISAM是最經常使用的兩個表類型,其基本差別主要為:

MyISAM存儲引擎的特點是:表級鎖、不支持事務和全文索引,適合一些CMS內容管理系統作為後臺數據庫使用,但是使用大並發、重負荷生產系統上,表鎖結構的特性就顯得力不從心;

InnoDB存儲引擎的特點是:行級鎖、事務安全(ACID兼容)、支持外鍵、不支持FULLTEXT類型的索引(5.6.4以後版本開始支持FULLTEXT類型的索引)。InnoDB存儲引擎提供了具有提交、回滾和崩潰恢復能力的事務安全存儲引擎。InnoDB是為處理巨大量時擁有最大性能而設計的。它的CPU效率可能是任何其他基於磁盤的關系數據庫引擎所不能匹敵的。

MySQL進階之存儲引擎MyISAM與InnoDB的區別