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