< 返回新聞公共列表

最受歡迎的MySQL存儲(chǔ)引擎有哪些?

發(fā)布時(shí)間:2023-03-31 15:15:35

最受歡迎的MySQL存儲(chǔ)引擎有哪些?分別是MyISAM和InnoDB。


最受歡迎的MySQL存儲(chǔ)引擎有哪些?.jpeg


一、MyISAM

MyISAM是5.5.1版本之前的MySQL默認(rèn)存儲(chǔ)引擎,由于其簡單性和速度,它仍然是一個(gè)受歡迎的選擇。大多數(shù)專家認(rèn)為它是剛剛開始掌握MySQL的初學(xué)者的最佳選擇。不幸的是,確保簡單性的主要因素之一是缺少外鍵支持。因此,我們的工作不會(huì)涉及復(fù)雜的配置,但我們的選擇是有限的。 

此外,該引擎需要較少的磁盤空間,因此適用于磁盤空間有限的情況。它通過SELECT和INSERT語句提供極快的速度,這是一個(gè)寶貴的優(yōu)勢,但在處理DELETE和UPDATE語句時(shí)它可能會(huì)很慢,因?yàn)樗恢С志哂谢貪L和表級(jí)鎖定的事務(wù)。 

如果我們考慮將MyISAM用于自己的項(xiàng)目,請注意它最適用于不使用事務(wù)的數(shù)據(jù)倉庫應(yīng)用程序或Web應(yīng)用程序。 

盡管MyISAM仍然被許多應(yīng)用程序使用,但它不再是默認(rèn)的并被InnoDB取代也就不足為奇了。


二、InnoDB

如果我們現(xiàn)在開發(fā)基于MySQL的應(yīng)用程序,InnoDB很可能是我們的存儲(chǔ)引擎。它確保了數(shù)據(jù)庫所需的所有選項(xiàng),并且是絕大多數(shù)開發(fā)人員最流行的選擇。 

InnoDB支持事務(wù)和外鍵約束。因此,它可以更好地檢查 INSERT、UPDATE和DELETE語句的一致性。它不如MyISAM快,但也不易被破壞。此外,它還提供了行級(jí)鎖定等重要優(yōu)勢,確保更高效的多用戶性能。 

另外,在配置了多個(gè)存儲(chǔ)引擎的情況下,最好將不用的存儲(chǔ)引擎關(guān)閉,以提高服務(wù)器性能。例如,我們配置了十個(gè)存儲(chǔ)引擎,但只使用其中一個(gè)。在這種情況下,9個(gè)存儲(chǔ)引擎閑置,只消耗服務(wù)器資源,沒有任何收益。

因此,MyISAM和InnoDB是MySQL使用最廣泛的存儲(chǔ)引擎。然而,這個(gè)RDBMS支持其中的十幾個(gè)。值得關(guān)注另一個(gè)名為 Federated的引擎。


三、Federated

雖然不是默認(rèn)的,但Federated是一個(gè)著名的MySQL存儲(chǔ)引擎。它的特點(diǎn)是它允許從遠(yuǎn)程MySQL數(shù)據(jù)庫訪問數(shù)據(jù)。同時(shí),它不需要復(fù)制或集群技術(shù)。關(guān)鍵是本地聯(lián)邦表。當(dāng)查詢尋址該表時(shí),它會(huì)自動(dòng)應(yīng)用于遠(yuǎn)程聯(lián)合表。數(shù)據(jù)不存儲(chǔ)在本地。 

當(dāng)開發(fā)人員需要使用MySQL和遠(yuǎn)程MySQL服務(wù)器中的多個(gè)數(shù)據(jù)庫時(shí),這種技術(shù)非常有用。遠(yuǎn)程服務(wù)器存儲(chǔ)數(shù)據(jù),而本地服務(wù)器僅使用連接字符串指向它們。此操作的效率不取決于遠(yuǎn)程服務(wù)器上的存儲(chǔ)引擎類型。

但是,F(xiàn)ederated有一個(gè)危險(xiǎn)的缺點(diǎn)。在處理連接表時(shí),它遠(yuǎn)不是最好的解決方案,因?yàn)樵谶@種情況下它的工作速度會(huì)大大降低。此外,它對交易的處理也很奇怪。該引擎的專業(yè)范圍很窄,應(yīng)謹(jǐn)慎處理。 


/template/Home/Zkeys724/PC/Static