您好,登錄后才能下訂單哦!
小編給大家分享一下mysql中InnoDB是默認存儲工具的原因,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
以主流的MyISAM和InnoDB的對比
1.功能對比
InnoDB支持ACID的事務4個特性,而MyISAM不支持;
InnoDB支持4種事務隔離級別,默認是可重復讀repeatable read,MyISAM不支持;
InnoDB支持crash安全恢復,MyISAM不支持;InnoDB支持外鍵,MyISAM不支持;
InnoDB支持行級別的鎖粒度,MyISAM不支持,只支持表級別的鎖粒度;
InnoDB支持MVCC,MyISAM不支持。
InnoDB特性上,InnoDB表最大可以64TB,支持聚簇索引、支持壓縮數據存儲,支持數據加密,支持查詢/索引/數據高速緩存,支持自適應hash索引、空間索引,支持熱備份和恢復等。
2.性能對比
(1)讀寫混合模式下,隨著CPU核數的增加,InnoDB的讀寫能力呈線性增長,在這個測試用例里,最高可達近9000的TPS,但MyISAM因為讀寫不能并發,它的處理能力跟核數沒關系,呈一條水平線,TPS低于500。
(2)只讀模式下,隨著CPU核數的增加,InnoDB的讀寫能力呈線性增長,最高可達近14000的TPS,但MyISAM的處理能力不到3000。
以上測試僅為說明InnoDB比MyISAM的處理能力強大,具體TPS測試數據跟硬件和測試條件不同而有很大差異。
拓展:
ARCHIVE存儲引擎
該存儲引擎非常適合存儲大量獨立的、作為歷史記錄的數據。區別于InnoDB和MyISAM這兩種引擎,ARCHIVE提供了壓縮功能,擁有高效的插入速度,但是這種引擎不支持索引,所以查詢性能較差一些。
注意,同一個數據庫也可以使用多種存儲引擎的表。如果一個表要求比較高的事務處理,可以選擇InnoDB。這個數據庫中可以將查詢要求比較高的表選擇MyISAM存儲。如果該數據庫需要一個用于查詢的臨時表,可以選擇MEMORY存儲引擎。
在mysql中有幾種不同的存儲引擎,有的是運行速度快,有的是處理事務強,又或者是可以臨時使用。那么,為什么最后是InnoDB被選作默認的存儲引擎呢?相信很多小伙伴都有這樣的疑慮,今天我們把它和MyISAM進行功能和性能上的對比,找出InnoDB被作為默認存儲引擎的原因。
通過對比我們可以看出,雖然二者都是主流的存儲引擎,但大部分的性能上InnoDB都比MyISAM優秀的太多,這也是我們把它作為默認存儲引擎的原因之一。
看完了這篇文章,相信你對“mysql中InnoDB是默認存儲工具的原因”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。