溫馨提示×

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

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

什么時(shí)候可以考慮使用MySQL MEMORY引擎

發(fā)布時(shí)間:2020-08-11 15:22:02 來(lái)源:ITPUB博客 閱讀:160 作者:chenfeng 欄目:MySQL數(shù)據(jù)庫(kù)
通常使用MEMORY涉及到以下特性:
1.操作相關(guān)的短暫的,非重要數(shù)據(jù)的管理或者cache,當(dāng)MySQL進(jìn)程夯住或服務(wù)重啟,MEMORY表的數(shù)據(jù)就會(huì)丟失。
2.內(nèi)存存儲(chǔ)訪問(wèn)快速,并且延遲低。數(shù)據(jù)可以填充到內(nèi)存不會(huì)導(dǎo)致操作系統(tǒng)swap到虛擬內(nèi)存。
3.只讀或者讀多的數(shù)據(jù)訪問(wèn)模式。
MySQL Cluster提供和MEMORY相似的功能來(lái)提高性能,但提供MEMORY不支持的額外的特性,例如:
1.行級(jí)鎖并且多線程操作,client降低爭(zhēng)用。
2.可擴(kuò)展性
3.數(shù)據(jù)持久性的后臺(tái)操作
4.shared-nothing的結(jié)構(gòu),多host操作不會(huì)有單點(diǎn)錯(cuò)誤。
5.自動(dòng)數(shù)據(jù)分布,應(yīng)用程序不需要參與用戶sharding或者分區(qū)解決方案。
6.支持可變長(zhǎng)字段,MEMORY不支持。

如果MEMORY表hash索引的列包含在很多索引中,date表字段的值會(huì)影響性能。性能影響和被幾個(gè)索引引用有關(guān)。你可以使用b樹(shù)索引來(lái)避免問(wèn)題。
MEMORY表可以是非唯一的key。
索引列的值可以是null


MEMORY表的物理特性:
MEMORY存儲(chǔ)引擎都有個(gè)相關(guān)的磁盤(pán)文件,用來(lái)保存表定義。表名.frm。
MEMORY表有以下幾個(gè)特性:
1.MEMORY表使用小的block,表使用動(dòng)態(tài)hash存儲(chǔ),沒(méi)有額外的key空間。刪除行把空間放到一個(gè)鏈表。當(dāng)你插入的時(shí)候會(huì)重新使用。MEMORY表在插入和刪除混合沒(méi)有什么問(wèn)題。
2.內(nèi)存表固定長(zhǎng)度。可變長(zhǎng)度類型比如varchar也以固定長(zhǎng)度保存。
3.內(nèi)存表不能包含BLOB,TEXT列
4.MEMORY支持AUTO_INCREMENT列
5.沒(méi)有臨時(shí)內(nèi)存表可以被所有客戶端共享,可其他臨時(shí)表一樣。
向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