国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

MySQL存儲引擎基礎(chǔ)知識

2024-07-24 12:50:44
字體:
供稿:網(wǎng)友

在之前的文章中我們說過MySQL事務(wù),現(xiàn)在大家都應(yīng)該知道了MySQL事務(wù)了吧,還記得事務(wù)的ACID原則嗎?不記得的童鞋可以回顧一下《MySQL之事務(wù)初識》,其實(shí)呀,更嚴(yán)謹(jǐn)一點(diǎn)的話,應(yīng)該是MySQL InnoDB存儲引擎,因?yàn)樵贛ySQL中,只有InnoDB存儲引擎才支持事務(wù)。看到此處,有些朋友可能有以下疑問:

存儲引擎是什么?

MySQL中有哪些存儲引擎?

每個(gè)存儲引擎有哪些特點(diǎn)以及區(qū)別?

下面,我們帶著這些疑問,依次往下看:

存儲引擎是什么?

通俗一點(diǎn)來說,MySQL是用來保存數(shù)據(jù)的對不對?我們可以把存儲引擎看作是一種存儲文件的方式以及該方式附屬的一整套工具,其中每個(gè)存儲文件方式的特點(diǎn)就是該存儲引擎的特點(diǎn)。

例如:Memory存儲引擎將數(shù)據(jù)保存至內(nèi)存中,其優(yōu)點(diǎn)是:讀寫快,但是數(shù)據(jù)不是持久到磁盤中的,非常容易丟失等等。

MySQL中的存儲引擎

在MySQL 5.7版本中,MySQL支持的存儲引擎有:

InnoDB

MyISAM

Memory

CSV

Archive

Blackhole

Merge:

Federated

Example

下面只介紹常用的存儲引擎,其他沒介紹的存儲引擎,有興趣的童鞋,可以自己自行搜索。

InnoDB:支持事務(wù)操作(如 begin, commit,rollback命令),支持行級鎖,行級鎖相對于表鎖,其粒度更細(xì),允許并發(fā)量更大,這里面細(xì)節(jié)還挺多的,下次,我們單獨(dú)寫一篇)支持外鍵引用完整性約束。InnoDB存儲引擎也是MySQL 5.7版本中默認(rèn)的存儲引擎。其缺點(diǎn)是:存儲空間會占用比較大。

MyISAM:該存儲引擎存儲占用的空間相對與InnoDB存儲引擎來說會少很多,但其支持的為表鎖,其并發(fā)性能會低很多,而且不支持事務(wù),通常只應(yīng)用于只讀模式的應(yīng)用。它是MySQL最原始的存儲引擎。

Memory:該存儲引擎最大的特點(diǎn)是,所有數(shù)據(jù)均保存在內(nèi)存中,之前還有個(gè)名字叫做 「Heap」。
應(yīng)用場景: 主要存儲一些需要快速訪且非關(guān)鍵數(shù)據(jù),為什么不是關(guān)鍵數(shù)據(jù)呢?就因?yàn)槠渌袛?shù)據(jù)保存在內(nèi)存中,也可以理解為不安全。

CSV:首先先認(rèn)識一下CSV,CSV文件其實(shí)就是用逗號分隔開的文本文件,常用于數(shù)據(jù)轉(zhuǎn)換,該類型平時(shí)用的比較少,不支持索引。

Archive:存檔文件,主要用于存儲很少用到的引用文件,

Example:該存儲引擎主要用于展示如何自行編寫一個(gè)存儲引擎,一般不會用作生產(chǎn)環(huán)境使用。

如何選擇存儲引擎

大家通過上面的比較應(yīng)該已經(jīng)看出來了,InnoDB存儲引擎是支持事務(wù),支持外鍵并支持行級鎖的。對于需要在線事務(wù)處理的應(yīng)用最合適不過了,我們在選擇存儲引擎時(shí),如果沒有特別的理由,我的建議是選擇InnoDB作為存儲引擎。

1、我們可以在創(chuàng)建table時(shí),指定存儲引擎,如果未指定,則使用默認(rèn)的存儲引擎。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 龙南县| 东莞市| 钟山县| 临泉县| 祁连县| 类乌齐县| 晋州市| 安平县| 鹤庆县| 怀宁县| 剑川县| 浦城县| 望城县| 江门市| 日照市| 九江市| 修武县| 建阳市| 灌南县| 全南县| 加查县| 连州市| 达孜县| 山阴县| 金阳县| 龙井市| 镇安县| 苗栗市| 繁昌县| 札达县| 博罗县| 思南县| 安西县| 江孜县| 佳木斯市| 夏邑县| 开江县| 中阳县| 阿荣旗| 博乐市| 洮南市|