溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql中InnoDB與MyISAM和InnoDB的區(qū)別是什么

發(fā)布時間:2021-03-04 12:46:47 來源:億速云 閱讀:131 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)mysql中InnoDB與MyISAM和InnoDB的區(qū)別是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在mysql中有幾種不同的存儲引擎,有的是運行速度快,有的是處理事務(wù)強,又或者是可以臨時使用。那么,為什么最后是InnoDB被選作默認(rèn)的存儲引擎呢?相信很多小伙伴都有這樣的疑慮,今天我們把它和MyISAM進行功能和性能上的對比,找出InnoDB被作為默認(rèn)存儲引擎的原因。

以主流的MyISAM和InnoDB的對比

1.功能對比

  • InnoDB支持ACID的事務(wù)4個特性,而MyISAM不支持;

  • InnoDB支持4種事務(wù)隔離級別,默認(rèn)是可重復(fù)讀repeatable read,MyISAM不支持;

  • InnoDB支持crash安全恢復(fù),MyISAM不支持;InnoDB支持外鍵,MyISAM不支持;

  • InnoDB支持行級別的鎖粒度,MyISAM不支持,只支持表級別的鎖粒度;

  • InnoDB支持MVCC,MyISAM不支持。

  • InnoDB特性上,InnoDB表最大可以64TB,支持聚簇索引、支持壓縮數(shù)據(jù)存儲,支持?jǐn)?shù)據(jù)加密,支持查詢/索引/數(shù)據(jù)高速緩存,支持自適應(yīng)hash索引、空間索引,支持熱備份和恢復(fù)等。

2.性能對比

(1)讀寫混合模式下,隨著CPU核數(shù)的增加,InnoDB的讀寫能力呈線性增長,在這個測試用例里,最高可達近9000的TPS,但MyISAM因為讀寫不能并發(fā),它的處理能力跟核數(shù)沒關(guān)系,呈一條水平線,TPS低于500。

(2)只讀模式下,隨著CPU核數(shù)的增加,InnoDB的讀寫能力呈線性增長,最高可達近14000的TPS,但MyISAM的處理能力不到3000。

以上測試僅為說明InnoDB比MyISAM的處理能力強大,具體TPS測試數(shù)據(jù)跟硬件和測試條件不同而有很大差異。

拓展:

ARCHIVE存儲引擎

該存儲引擎非常適合存儲大量獨立的、作為歷史記錄的數(shù)據(jù)。區(qū)別于InnoDB和MyISAM這兩種引擎,ARCHIVE提供了壓縮功能,擁有高效的插入速度,但是這種引擎不支持索引,所以查詢性能較差一些。

注意,同一個數(shù)據(jù)庫也可以使用多種存儲引擎的表。如果一個表要求比較高的事務(wù)處理,可以選擇InnoDB。這個數(shù)據(jù)庫中可以將查詢要求比較高的表選擇MyISAM存儲。如果該數(shù)據(jù)庫需要一個用于查詢的臨時表,可以選擇MEMORY存儲引擎。

通過對比我們可以看出,雖然二者都是主流的存儲引擎,但大部分的性能上InnoDB都比MyISAM優(yōu)秀的太多,這也是我們把它作為默認(rèn)存儲引擎的原因之一。

關(guān)于“mysql中InnoDB與MyISAM和InnoDB的區(qū)別是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI