溫馨提示×

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

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

MySQL中MyISAM默認(rèn)存儲(chǔ)引擎的實(shí)現(xiàn)原理是什么

發(fā)布時(shí)間:2021-05-11 14:18:33 來(lái)源:億速云 閱讀:217 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)MySQL中MyISAM默認(rèn)存儲(chǔ)引擎的實(shí)現(xiàn)原理是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

默認(rèn)MyISAM的表會(huì)在磁盤(pán)中產(chǎn)生3個(gè)文件:.frm(表結(jié)構(gòu)文件)、.MYD(數(shù)據(jù)文件)、.MYI(索引文件)

  可以在創(chuàng)建的時(shí)候指定數(shù)據(jù)文件和索引文件的存儲(chǔ)位置,只有MyISAM表支持:

  •     DATA DIRECTORY [=] 數(shù)據(jù)保存的絕對(duì)路徑

  •     INDEX DIRECTORY [=] 索引文件的絕對(duì)路徑

  MyISAM單表最大支持的數(shù)據(jù)量為2的64次方跳記錄  

  每個(gè)表最多可以建立64個(gè)索引

  如果是復(fù)合索引,每個(gè)復(fù)合索引最多包含16個(gè)列,索引值最大長(zhǎng)度是1000B

  MyISAM引擎的存儲(chǔ)格式:

  •     定長(zhǎng)(FIXED 靜態(tài)) :是指字段不包含VARCHAR/TEXT/BLOB

  •     動(dòng)態(tài)(DYNAMIC) :只要字段中包含了VARCHAR/TEXT/BLOB

  •     壓縮(COMPRESSED):muisampack創(chuàng)建

InnoDB存儲(chǔ)引擎:

  設(shè)計(jì)遵循ACID模型,支持事務(wù),具有從服務(wù)崩潰中恢復(fù)的能力,能夠最大限度保護(hù)用戶(hù)的數(shù)據(jù)

  支持行級(jí)鎖,可以提升多用戶(hù)并發(fā)時(shí)的讀寫(xiě)性能

  InnoDB擁有自己獨(dú)立的緩沖池,常用的數(shù)據(jù)和索引都在緩存中

  對(duì)于INSERT、UPDATE、DELETE操作,InnoDB會(huì)使用一種change buffering的機(jī)制來(lái)自動(dòng)優(yōu)化,還可以提供一致性的讀,并且還能夠緩存變更的數(shù)據(jù),減少磁盤(pán)I/O,提高性能

  創(chuàng)建InnoDB表之后會(huì)產(chǎn)生兩個(gè)文件:

  •     .frm表結(jié)構(gòu)文件

  •     .ibd 數(shù)據(jù)和索引存儲(chǔ)表空間中

  所有的表都需要?jiǎng)?chuàng)建主鍵,最好是配合上AUTO_INCREMENT,也可以放到經(jīng)常查詢(xún)的列作為主鍵

關(guān)于“MySQL中MyISAM默認(rèn)存儲(chǔ)引擎的實(shí)現(xiàn)原理是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

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

AI