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