五:MySQL-經常使用引擎

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引擎,

相關文章
相關標籤/搜索