Mysql

MySQL中小型查找表的最佳引擎

  • June 7, 2015

我有以下問題:我正在設計帶有幾十個小型查找表的 Web 應用程序:這些表通常包含三列(ID、名稱、描述)和幾行(大多少於 50,最大值約為 450)。

這些查找表預計很少更改(它們來自標準,幾年更改一次)並且僅用於:

  • 在 html select 中填充選項
  • 在報告中加入其他記錄

99% 的情況下,這些表上只會有SELECT語句,但會有很多。

我想知道,使用哪個數據庫引擎最有效?

以下是我的考慮:

記憶

  • 親:非常快
  • 缺點:如果伺服器崩潰,所有數據都會失去,需要重新創建
  • 缺點:不支持外鍵

壓縮的 MyISAM

  • 親:快
  • 缺點:不支持外鍵

InnoDB

  • pro:外鍵支持

我想問的是,使用與InnoDB不同的東西是否會有顯著優勢- 性能方面

謝謝,茲比尼克

我在 2011 年 8 月回答了一個類似的問題:哪種 DBMS 適合超快速讀取和簡單的資料結構?

由於您在詢問 MySQL 和哪個儲存引擎。老實說,這很難說,因為在 SELECT 方面 MyISAM 很少能勝過 InnoDB。

這是我過去關於這個爭議的一些文章

您現在可能會問:為什麼我會偏愛 MyISAM 而不是 InnoDB?

看看這張圖(由 Percona 首席技術官 Vadim Tkachenko 創建)

InnoDB 架構

MyISAM 將記憶體索引,您的表將有 2 個索引(id 上的主鍵和名稱索引)。另一方面,InnoDB 有太多的移動元件無法容納,尤其是在 InnoDB 緩衝池必須定期載入和關閉 16K 頁面的情況下。

公平地說,你應該做一個實驗。

這將為您提供數據集的儲存引擎選擇的最佳評估。

試一試 !!!

引用自:https://dba.stackexchange.com/questions/102293