Innodb和MyISAM比較

Innodb和MyISAM比較

(1)MyISAM類型的表強調的是性能,其執行速度比InnoDB類型更快sql

(2)MyISAM不支持事務、外鍵,InnoDB支持事務和外鍵數據庫

(3)MyISAM使用的表級鎖.,而InnoDB默認使用的行級鎖,也可使用表級鎖。若是大量使用select,MyISAM更快;大量使用insert、update、delete使用InnoDB更好。性能

(4)MyISAM的主鍵與輔助索引都使用的非彙集索引,而InnoDB主鍵索引使用的彙集索引,輔助索引使用的非彙集索引.net

(5)InnoDB不支持FULLTEXT類型的索引;blog

(6)InnoDB 中不保存表的具體行數,也就是說,執行select count(*) from table時,InnoDB要掃描一遍整個表來計算有多少行,可是MyISAM只要簡單的讀出保存好的行數便可。注意的是,當count(*)語句包含 where條件時,兩種表的操做是同樣的;索引

(7)對於AUTO_INCREMENT類型的字段,InnoDB中必須包含只有該字段的索引,可是在MyISAM表中,能夠和其餘字段一塊兒創建聯合索引事務

Innodb和MyISAM選擇

(1)平臺上承載的大部分項目是讀多寫少的項目,而MyISAM的讀性能是比Innodb強很多的。內存

(2)My+ISAM的索引和數據是分開的,而且索引是有壓縮的,內存使用率就對應提升了很多。能加載更多索引,而Innodb是索引和數據是緊密捆綁的,沒有使用壓縮從而會形成Innodb比MyISAM體積龐大不小。table

(3) 還有就是常常有不少應用部門須要我給他們按期某些表的數據,MyISAM的話很方便,只要發給他們對應那表的frm.MYD,MYI的文件,讓他們本身在對應版本的數據庫啓動就行,而Innodb就須要導出xxx.sql了,由於光給別人文件,受字典數據文件的影響,對方是沒法使用的。date

更全面的請訪問連接: http://blog.csdn.net/xifeijian/article/details/20316775

相關文章
相關標籤/搜索