常見存儲引擎小結

        存儲引擎的使用可以根據具體業務,組合使用多種存儲引擎,以達到更好的性能,以下提供適用方案僅供參考,使用哪種存儲引擎並不是絕對的,具體要看實際情況。
        簡單描述常用存儲引擎的適用環境(myisam,innodb,memory,merge)

  1. MyISAM:
    1)適用情況:默認的mysql插件式存儲引擎,應用以讀和插入爲主,較少的更新和刪除操作,且對事務的完整性和併發性要求不高
    2)使用場景:myisam在web,數據倉儲和其他應用環境下是最常使用的存儲引擎之一。

  2. InnoDB:
    1)作用:innodb可以有效降低刪除、更新導致的鎖定;確保事務的完整提交和回滾;用於事務處理應用程序,支持外鍵;
    2)適用情況:應用對事務的完整性有比較高的要求,在併發條件下要求事務的一致性,數據操作除了插入和查詢外,還包括很多更新和刪除;
    3)適用場景:類似計費系統或者財務系統等對數據準確性要求較高的系統,選擇innidb比較合適。

  3. MEMORY:
    1)優點:將所有數據保存在ram中,在需要快速定位記錄和其他類似數據的環境下,可提供極快的訪問。
    2)缺陷:對錶的大小有限制,太大的表無法緩存在內存中,其次要確保表的數據可以恢復,數據庫異常終止後表中的數據是可以恢復的
    3)適用情況:memory表通常用來更新不太頻繁的小表,用以快速得到訪問效果。

  4. MERGE:
    1)適用情況:將一系列等同的myisam表以邏輯方式組合在一起,並作爲一個對象引用他們。
    2)優點:可以突破對單個myisam表大小的限制;且通過將不同的表分佈在多個磁盤上,可以有效改善merge表的訪問效率;
    3)適用場景:諸如數據倉儲等VLDB環境十分適合。
    正確選擇存儲引擎對改善應用的效率可以起到事半功倍的效果,選擇好存儲引擎,還需要正確選擇表中數據類型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章