InnoDB引擎併發
是MySQL默認的引擎mvc
1:數據存儲在表空間中,表空間是黑盒的,有一系列文件構成;高併發
2:使用MVCC支持高併發,同事利用mvcc和行級鎖來支持事務,默認的是REPEATABLE READ可重複讀,用間隙鎖策略防止幻想讀,間隙鎖鎖定是一個範圍,在InnoDB引擎中,採用innodb_locks_unsafe_for_binlog參數,這個參數的默認是是OFF,也就是設置開啓間隙鎖,可是通常不要更改該參數,由於這個參數影響到主從複製,災難恢復;性能
3:基於聚簇索引,對主鍵查詢性能有了很大的優化,可是二級索引必須包含主鍵,因此主鍵要儘可能小;優化
4:內部優化;設計
5:支持熱備份;日誌
MyISAM引擎索引
MyISAM引擎設計初衷是爲了讀大於寫的場景,不支持事務,也不支持行級鎖;只支持表級鎖,事務
不支持外鍵內存
MyISAM支持全文索引
索引和數據是分開的
其餘:Memory引擎
基於內存,快速訪問,沒用過
CVS(沒用過)
場景:
日誌性:插入行要求高,能夠使用MyISAM引擎,可是分析的時候最好拷貝一份去備份庫進行分析
傳統須要事務處理的,使用InnoDB引擎,