最受歡迎的MySQL存儲引擎有哪些?分別是MyISAM和InnoDB。
一、MyISAM
MyISAM是5.5.1版本之前的MySQL默認(rèn)存儲引擎,由于其簡單性和速度,它仍然是一個受歡迎的選擇。大多數(shù)專家認(rèn)為它是剛剛開始掌握MySQL的初學(xué)者的最佳選擇。不幸的是,確保簡單性的主要因素之一是缺少外鍵支持。因此,我們的工作不會涉及復(fù)雜的配置,但我們的選擇是有限的。
此外,該引擎需要較少的磁盤空間,因此適用于磁盤空間有限的情況。它通過SELECT和INSERT語句提供極快的速度,這是一個寶貴的優(yōu)勢,但在處理DELETE和UPDATE語句時它可能會很慢,因為它不支持具有回滾和表級鎖定的事務(wù)。
如果我們考慮將MyISAM用于自己的項目,請注意它最適用于不使用事務(wù)的數(shù)據(jù)倉庫應(yīng)用程序或Web應(yīng)用程序。
盡管MyISAM仍然被許多應(yīng)用程序使用,但它不再是默認(rèn)的并被InnoDB取代也就不足為奇了。
二、InnoDB
如果我們現(xiàn)在開發(fā)基于MySQL的應(yīng)用程序,InnoDB很可能是我們的存儲引擎。它確保了數(shù)據(jù)庫所需的所有選項,并且是絕大多數(shù)開發(fā)人員最流行的選擇。
InnoDB支持事務(wù)和外鍵約束。因此,它可以更好地檢查 INSERT、UPDATE和DELETE語句的一致性。它不如MyISAM快,但也不易被破壞。此外,它還提供了行級鎖定等重要優(yōu)勢,確保更高效的多用戶性能。
另外,在配置了多個存儲引擎的情況下,最好將不用的存儲引擎關(guān)閉,以提高服務(wù)器性能。例如,我們配置了十個存儲引擎,但只使用其中一個。在這種情況下,9個存儲引擎閑置,只消耗服務(wù)器資源,沒有任何收益。
因此,MyISAM和InnoDB是MySQL使用最廣泛的存儲引擎。然而,這個RDBMS支持其中的十幾個。值得關(guān)注另一個名為 Federated的引擎。
三、Federated
雖然不是默認(rèn)的,但Federated是一個著名的MySQL存儲引擎。它的特點(diǎn)是它允許從遠(yuǎn)程MySQL數(shù)據(jù)庫訪問數(shù)據(jù)。同時,它不需要復(fù)制或集群技術(shù)。關(guān)鍵是本地聯(lián)邦表。當(dāng)查詢尋址該表時,它會自動應(yīng)用于遠(yuǎn)程聯(lián)合表。數(shù)據(jù)不存儲在本地。
當(dāng)開發(fā)人員需要使用MySQL和遠(yuǎn)程MySQL服務(wù)器中的多個數(shù)據(jù)庫時,這種技術(shù)非常有用。遠(yuǎn)程服務(wù)器存儲數(shù)據(jù),而本地服務(wù)器僅使用連接字符串指向它們。此操作的效率不取決于遠(yuǎn)程服務(wù)器上的存儲引擎類型。
但是,F(xiàn)ederated有一個危險的缺點(diǎn)。在處理連接表時,它遠(yuǎn)不是最好的解決方案,因為在這種情況下它的工作速度會大大降低。此外,它對交易的處理也很奇怪。該引擎的專業(yè)范圍很窄,應(yīng)謹(jǐn)慎處理。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動站