存儲引擎是處理不同表類型的SQL操作的MySQL組件。mysql存儲引擎的類型有哪些?
mysql存儲引擎的類型一:InnoDB
InnoDB是MySQL中的默認存儲引擎。InnoDB是MySQL的事務安全(符合ACID)存儲引擎,具有提交、回滾和崩潰恢復功能以保護用戶數據。InnoDB行級鎖定(無需升級到更粗粒度的鎖定)和Oracle風格的一致非鎖定讀取可提高多用戶并發(fā)性和性能。InnoDB將用戶數據存儲在聚簇索引中,以減少基于主鍵的常見查詢的 I/O。為了保持數據完整性,InnoDB還支持FOREIGN KEY引用完整性約束。
mysql存儲引擎的類型二:MyISAM
MyISAM這些表占地面積小。表級鎖定限制了讀/寫工作負載的性能,因此它通常用于Web和數據倉庫配置中的只讀或以讀為主的工作負載。
mysql存儲引擎的類型三:Memory
Memory將所有數據存儲在RAM中,以便在需要快速查找非關鍵數據的環(huán)境中進行快速訪問。該發(fā)動機以前稱為HEAP發(fā)動機。它的用例正在減少;InnoDB憑借其緩沖池內存區(qū)域,提供了一種通用且持久的方式來將大部分或全部數據保存在內存中,并NDBCLUSTER為龐大的分布式數據集提供快速鍵值查找。
mysql存儲引擎的類型四:CSV
CSV的表格實際上是具有逗號分隔值的文本文件。CSV表允許我們以 CSV格式導入或轉儲數據,以便與讀寫相同格式的腳本和應用程序交換數據。由于CSV表沒有索引,我們通常在正常操作期間將數據保留在InnoDB表中,并且僅在導入或導出階段使用CSV表。
mysql存儲引擎的類型五:Archive
Archive這些緊湊的、未索引的表用于存儲和檢索大量很少引用的歷史、存檔或安全審計信息。
mysql存儲引擎的類型六:Blackhole
Blackhole存儲引擎接受但不存儲數據,類似于Unix/dev/nul設備。查詢總是返回一個空集。這些表可用于將DML語句發(fā)送到副本服務器的復制配置,但源服務器不保留其自己的數據副本。
mysql存儲引擎的類型七:NDB(也稱為 NDBCLUSTER)
此集群數據庫引擎特別適用于需要盡可能高的正常運行時間和可用性的應用程序。
mysql存儲引擎的類型八:Merge
使MySQL DBA或開發(fā)人員能夠對一系列相同的MyISAM表進行邏輯分組,并將它們作為一個對象進行引用。適用于數據倉庫等VLDB環(huán)境。
mysql存儲引擎的類型九:Federated
Federated提供鏈接獨立的MySQL服務器以從許多物理服務器創(chuàng)建一個邏輯數據庫的能力,非常適合分布式或數據集市環(huán)境。
mysql存儲引擎的類型十:Example
Example該引擎作為MySQL源代碼中的示例,說明如何開始編寫新的存儲引擎。它主要是開發(fā)人員感興趣的。存儲引擎是一個什么都不做的“存根”。我們可以使用此引擎創(chuàng)建表,但不能在其中存儲或從中檢索任何數據。
以上是mysql存儲引擎的10個類型介紹。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站