10、MySQL存储引擎有哪些?
數據庫存儲引擎是數據庫底層軟件組件,數據庫管理系統使用數據引擎進行創建、查詢、更新和刪除數據操作。簡而言之,存儲引擎就是指表的類型。
數據庫的存儲引擎決定了表在計算機中的存儲方式。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎還可以獲得特定的功能。
現在許多數據庫管理系統都支持多種不同的存儲引擎。MySQL 的核心就是存儲引擎。
MySQL 提供了多個不同的存儲引擎,包括處理事務安全表的引擎和處理非事務安全表的引擎。在 MySQL 中,不需要在整個服務器中使用同一種存儲引擎,針對具體的要求,可以對每一個表使用不同的存儲引擎。
MySQL 5.7 支持的存儲引擎有 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE 等。可以使用SHOW ENGINES;語句查看系統所支持的引擎類型,結果如圖所示。
Support 列的值表示某種引擎是否能使用,YES表示可以使用,NO表示不能使用,DEFAULT表示該引擎為當前默認的存儲引擎。
下面簡要描寫幾種存儲引擎,后面會對其中的幾種(主要是 InnoDB 和 MyISAM )進行詳細講解。像 NDB 這樣的需要更多擴展性的討論,這超出了本教程的介紹范疇,所以在教程后面對它們不會介紹太多。
| ARCHIVE | 用于數據存檔的引擎,數據被插入后就不能在修改了,且不支持索引。 |
| CSV | 在存儲數據時,會以逗號作為數據項之間的分隔符。 |
| BLACKHOLE | 會丟棄寫操作,該操作會返回空內容。 |
| FEDERATED | 將數據存儲在遠程數據庫中,用來訪問遠程表的存儲引擎。 |
| InnoDB | 具備外鍵支持功能的事務處理引擎 |
| MEMORY | 置于內存的表 |
| MERGE | 用來管理由多個 MyISAM 表構成的表集合 |
| MyISAM | 主要的非事務處理存儲引擎 |
| NDB | MySQL 集群專用存儲引擎 |
有幾種存儲引擎的名字還有同義詞,例如,MRG_MyISAM 和 NDBCLUSTER 分別是 MERGE 和 NDB 的同義詞。存儲引擎 MEMORY 和 InnoDB 在早期分別稱為 HEAP 和 Innobase。雖然后面兩個名字仍能被識別,但是已經被廢棄了。
總結
以上是生活随笔為你收集整理的10、MySQL存储引擎有哪些?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9、MySQL系统变量(查看和修改)
- 下一篇: 11、InnoDB存储引擎