Mysql中myisam和innodb的區別,至少5點
(1)5點不同
1. 儲存結構
MyISAM:每個MyISAM在磁碟上儲存成三個檔案。第一個檔案的名字以表的名字開始,副檔名指出檔案型別。 .frm檔案儲存表定義。資料檔案的副檔名為.MYD(MYD)。索引檔案的副檔名是.MYI(MYIndex)。
InnoDB:所在的表都儲存在同一個資料檔案中(也可能是多個檔案,或者是獨立的表空間),InnoDB表的大小隻受限於作業系統檔案的大小,一般為2GB。
2. 儲存空間
MyISAM:可被壓縮,儲存空間較小。支援三種不同的儲存格式:靜態表(預設,但是注意資料末尾不能有空格,會被去掉)、動態表、壓縮表。
InnoDB:需要更多的記憶體和儲存,它會在主記憶體中建立其專用的緩衝池用於高速緩衝資料和索引。
3. 事物支援
MyISAM:強調的是效能,每次查詢具有原子性,其執行速度比Innodb型別更快,但是不提供事物支援。
InnoDB:提供事務支援,外部鍵等高階資料庫功能。具有事務(commit)、回滾(rollback)和崩潰修復能力(crach recovery capabilities)的事務安全(transaction-safe ACID compliant)型表。
4. CURD操作
MyISAM: 如果執行大量的select, MyISAM是更好的選擇。(因為沒有支援行級鎖),在增刪的時候需要鎖定整個表格,效率會低一些。相關的是innoDB支援行級鎖,刪除插入的時候只需要鎖定該行就行,效率較高。
InnoDB:如果你的資料執行大量的insert或update,出於效能方面的考慮,應該使用InnoDB表。Delete從效能上Innodb更優,但delete from table時,InnoDB不會重新建立表,而是一行一行的刪除,在innodb上如果要清空儲存有大量資料的表,最好使用truncate table這個命令。
5. 外來鍵
MyISAM: 不支援。
InoDB:支援。
(2)各種不同mysql版本的2者的改進
(3)2者的索引的實現方式
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21374452/viewspace-2136284/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql 中 MyISAM 和 InnoDB 的區別MySql
- Mysql引擎中MyISAM和InnoDB的區別有哪些?MySql
- InnoDB和MyISAM的區別
- MyISAM和InnoDB的區別
- MySQL儲存引擎:MyISAM和InnoDB的區別MySql儲存引擎
- InnoDB和MyISAM 區別(轉)
- Mysql innodb引擎和myisam引擎使用索引區別MySql索引
- MyISAM InnoDB 區別
- InnoDB和MyISAM區別總結
- MySQL的MyISAM和InnoDB引擎的主要區別是什麼?MySql
- Innodb與MyISAM的區別
- MyISAM與InnoDB的區別
- MySQL儲存引擎簡介及MyISAM和InnoDB的區別MySql儲存引擎
- MySQL儲存引擎--MyISAM與InnoDB區別MySql儲存引擎
- MyISAM和InnoDB的主要區別和應用場景
- 總結MySQL儲存引擎MyISAM與InnoDB區別MySql儲存引擎
- MySQL之儲存引擎InnoDB和MyISAM的區別及底層詳解MySql儲存引擎
- MySQL中myisam和innodb有什麼差異?MySql
- MySQL 資料庫 InnoDB 和 MyISAM 資料引擎的差別MySql資料庫
- mysql的innodb和myisam的dml效能對比MySql
- MySQL: InnoDB 還是 MyISAM?MySql
- mysql 的myisam和innodb對應的cache管理方式的一點差異MySql
- MySQL中MyISAM引擎與InnoDB引擎效能比較MySql
- MySQL 中 MyISAM 中的查詢為什麼比 InnoDB 快?MySql
- 資料庫系列:MySQL引擎MyISAM和InnoDB的比較資料庫MySql
- MySQL中MyISAM為什麼比InnoDB查詢快MySql
- 重要的Myisam Mysql系統至少需要幾個庫?MySql
- MYSQL INNODB主鍵使用varchar和int的區別MySql
- 【轉】Mysql兩種儲存引擎的異同【MyISAM和InnoDB】MySql儲存引擎
- mysql中!=和is not的區別MySql
- mysql中“ ‘ “和 “ ` “的區別MySql
- MySQL引擎介紹ISAM,MyISAM,HEAP,InnoDBMySql
- 隨筆:MySQL中'' ' ' NULL在Innodb儲存的區別MySqlNull
- MyISAM與InnoDB兩者的區別、詳細總結、效能對比
- MySQL三種InnoDB、MyISAM和MEMORY儲存引擎對比MySql儲存引擎
- MySQL儲存引擎之MyIsam和Innodb總結性梳理MySql儲存引擎
- MySQL儲存引擎MyISAM與InnoDB的優劣MySql儲存引擎
- Oracle 和 mysql的9點區別OracleMySql