1. 程式人生 > >MySQL選擇合適的儲存引擎

MySQL選擇合適的儲存引擎

在選擇儲存引擎時,應根據應用特點選擇合適的儲存引擎,對於複雜的應用系統可以根據實際情況選擇多種儲存引擎進行組合。

下面是常用儲存引擎的適用環境。

  • MyISAM:如果應用是以讀操作和插入操作為主,只有很少的更新和刪除操作,並且對事務的完整性、併發性要求不是很高,那麼選擇這個儲存引擎是非常適合的。MyISAM 是在Web、資料倉儲和其他應用環境下最常使用的儲存引擎之一。
  • InnoDB:用於事務處理應用程式,支援外來鍵。如果應用對事務的完整性有比較高的要求,在併發條件下要求資料的一致性,資料操作除了插入和查詢以外,還包括很多的更新、刪除操作,那麼InnoDB 儲存引擎應該是比較合適的選擇。InnoDB 儲存引擎除了有效地降低由於刪除和更新導致的鎖定,還可以確保事務的完整提交(Commit)和回滾(Rollback),對於類似計費系統或者財務統等對資料準確性要求比較高的系統,InnoDB 都是合適的選擇。
  • MEMORY:將所有資料儲存在RAM 中,在需要快速定位記錄和其他類似資料的環境下,可提供極快的訪問。MEMORY 的缺陷是對錶的大小有限制,太大的表無法快取在記憶體中,其次是要確保表的資料可以恢復,資料庫異常終止後表中的資料是可以恢復的。MEMORY 表通常用於更新不太頻繁的小表,用以快速得到訪問結果。
  • MERGE:用於將一系列等同的MyISAM 表以邏輯方式組合在一起,並作為一個物件引用它們。MERGE 表的優點在於可以突破對單個MyISAM 表大小的限制,並且通過將不同的表分佈在多個磁碟上,可以有效地改善MERGE 表的訪問效率。這對於諸如資料儲等VLDB環境十分適合。