MySQL存儲引擎--存儲引擎的選擇


在實際工作中,選擇一個合適的存儲引擎是一個很複雜的問題。每種存儲引擎都有各自的優勢,不能籠統的說誰好誰不好。原諒我說了一句廢話。

OK,現在我們將對各個存儲引擎的特點進行對比,給出不同情況下選擇存儲引擎的建議。



首先呢,我們來從存儲引擎的事務安全,存儲限制,空間使用,內存使用,插入數據的速度和對外鍵的支持這幾個角度來做一個比較。


關於上表的解釋:

1,InnoDB存儲引擎:InnoDB存儲引擎支持事務處理,支持外鍵。同時支持奔潰修復能力和併發控制。

如果需要對事務的完整性要求比較高,要求實現併發控制,那選擇InnoDB存儲引擎有很大的優勢。

如果需要頻繁的進行更新,刪除操作的數據庫,也可以選擇InnoDB存儲引擎。因爲該類存儲引擎可以實現事務的提交和回滾。

2,MyISAM存儲引擎:MyISAM存儲引擎的插入數據快,空間和內存使用比較低。

如果表主要是用於插入新記錄和讀出記錄,那麼選擇MyISAM存儲引擎能實現處理的高效率。

如果應用的完整性,併發性要求很低,也可以選擇MyISAM存儲引擎。

3,Memory存儲引擎:Memory存儲引擎的所有數據都在內存中,數據的處理速度非常快,但安全性不高。

如果需要很快的讀寫速度,對數據的安全性要求較低,可以選擇Memory存儲引擎。

Memory存儲引擎對錶的大小有要求,不能建立太大的表。所以,這類數據庫值使用與相對較小的數據庫表。



這裏再來整理一個小的技巧:


上面整理的到選擇存儲一起拿的這些建議都是根據不同的存儲引擎的特點提出的。這些建議方案並不是絕對的,實際應用中還需要根據實際情況來進行分析。當然,同一個數據庫中可以使用多種存儲引擎的表

1,如果一個表要求較高的事務處理,可以選擇InnoDB。

2,這個數據庫中可以將查詢要求比較高的表選擇MyISAM存儲引擎。

3,如果需要該數據庫中一個用於查詢的臨時表,可以選擇Memory存儲引擎。



發佈了284 篇原創文章 · 獲贊 66 · 訪問量 71萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章