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