简述mysql 存储引擎_Mysql基础-存储引擎简述
說明:Mysql服務(wù)器提供了豐富的存儲(chǔ)引擎供我們選擇,并且給我們提供了足夠的可配性,完全可以根據(jù)實(shí)際需要實(shí)現(xiàn)自定義。
Mysql 的存儲(chǔ)引擎介紹
在數(shù)據(jù)庫中存的就是一張張有著千絲萬縷關(guān)系的表,所以表設(shè)計(jì)的好壞,將直接影響著整個(gè)數(shù)據(jù)庫。而在設(shè)計(jì)表的時(shí)候,我們都會(huì)關(guān)注一個(gè)問題,使用什么存儲(chǔ)引擎?存儲(chǔ)引擎?存儲(chǔ)引擎?,那什么是存儲(chǔ)引擎?
什么是存儲(chǔ)引擎?
MySQL中的數(shù)據(jù)用各種不同的技術(shù)存儲(chǔ)在文件(或者內(nèi)存)中。這些技術(shù)中的每一種技術(shù)都使用不同的存儲(chǔ)機(jī)制、索引技巧、鎖定水平并且最終提供廣泛的不同的功能和能力。通過選擇不同的技術(shù),你能夠獲得額外的速度或者功能,從而改善你的應(yīng)用的整體功能。
例如,如果你在研究大量的臨時(shí)數(shù)據(jù),你也許需要使用內(nèi)存MySQL存儲(chǔ)引擎。內(nèi)存存儲(chǔ)引擎能夠在內(nèi)存中存儲(chǔ)所有的表格數(shù)據(jù)。又或者,你也許需要一個(gè)支持事務(wù)處理的數(shù)據(jù)庫(以確保事務(wù)處理不成功時(shí)數(shù)據(jù)的回退能力)。
這些不同的技術(shù)以及配套的相關(guān)功能在 MySQL中被稱作存儲(chǔ)引擎(也稱作表類型)。MySQL默認(rèn)配置了許多不同的存儲(chǔ)引擎,可以預(yù)先設(shè)置或者在MySQL服務(wù)器中啟用。你可以選擇適用于服務(wù)器、數(shù)據(jù)庫和表格的存儲(chǔ)引擎,以便在選擇如何存儲(chǔ)你的信息、如何檢索這些信息以及你需要你的數(shù)據(jù)結(jié)合什么性能和功能的時(shí)候?yàn)槟闾峁┳畲蟮撵`活性。
關(guān)系數(shù)據(jù)庫表是用于存儲(chǔ)和組織信息的數(shù)據(jù)結(jié)構(gòu),可以將表理解為由行和列組成的表格,類似于Excel的電子表格的形式。有的表簡(jiǎn)單,有的表復(fù)雜,有的表根本不用來存儲(chǔ)任何長(zhǎng)期的數(shù)據(jù),有的表讀取時(shí)非常快,但是插入數(shù)據(jù)時(shí)去很差;而我們?cè)趯?shí)際開發(fā)過程中,就可能需要各種各樣的表,不同的表,就意味著存儲(chǔ)不同類型的數(shù)據(jù),數(shù)據(jù)的處理上也會(huì)存在著差異,那么。對(duì)于MySQL來說,它提供了很多種類型的存儲(chǔ)引擎(或者說不同的表類型),我們可以根據(jù)對(duì)數(shù)據(jù)處理的需求,選擇不同的存儲(chǔ)引擎,從而最大限度的利用MySQL強(qiáng)大的功能。
Mysql存儲(chǔ)引擎分類:
FEDERATED? ? ? ? ? ? ? ? ? ? ?--用于遠(yuǎn)程表的存儲(chǔ)引擎
MERGE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --用于管理由多個(gè)MyISAM表構(gòu)成的表集合
MyISAM? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--主要的非事務(wù)處理存儲(chǔ)引擎
BLACKHOLE? ? ? ? ? ? ? ? ? ? --這種存儲(chǔ)引擎會(huì)丟棄寫操作,讀操作時(shí)返回空內(nèi)容
CSA? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--這種存儲(chǔ)引擎在存儲(chǔ)數(shù)據(jù)時(shí),會(huì)以逗號(hào)作為數(shù)據(jù)項(xiàng)之間的分隔符
MEMORY--所有內(nèi)容存儲(chǔ)與內(nèi)存中
ARCHIVE--用于數(shù)據(jù)存檔的引擎(行被插入后就不能再此修改)
InnoDB? ? ? ? ? ? ? ? ? ? ? ? ? ? ?--具備外鍵支持功能的事務(wù)處理引擎
NDB? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-- Mysql集群專用存儲(chǔ)引擎
PERFORMANCE_SCHEMA? ? ? --5.5開始提供,主要用于PERFORMANCE_SCHEMA數(shù)據(jù)庫,用戶不能自己創(chuàng)建PERFORMANCE_SCHEMA引擎的表
注意:
1、有幾種存儲(chǔ)引擎的名字還有別名,例如,MRG_MyISAM和NDBCLUSTER分別是MERGE和NDB的別名。MEMORY和InnoDB在早期分別稱為HEAP和Innobase,雖然后面兩個(gè)別名還可以被識(shí)別,但已經(jīng)廢棄了。
2、Mysql服務(wù)器在一開始都是把所有的存儲(chǔ)引擎編譯在內(nèi)部的,以供后期使用,現(xiàn)在,它改變了這種方式,而是以一種“可插拔”的架構(gòu)提供,可以讓我們選擇性的加載。
查看當(dāng)前數(shù)據(jù)庫可用存儲(chǔ)引擎:
語法:show engines;
或者:select * from information_schema.ENGINES
存儲(chǔ)引擎
總結(jié)
以上是生活随笔為你收集整理的简述mysql 存储引擎_Mysql基础-存储引擎简述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开放医疗交通大数据技术 服务于公共便民领
- 下一篇: linux cmake编译源码,linu