2015-09-21 27 views
3

我想知道爲什麼仍然即使版本的MySQL服務器5.6+爲什麼當InnoDB被鼓勵使用時,MySQL mysql表仍然是MYISAM?

的MySQL店的元數據庫(「MySQL的」)表大多在MyISAM數據類型時,他們自己也促使開發商/用戶使用InnoDB作爲默認的數據庫引擎並認爲過時使用MyISAM了?

+1

你在問錯人。詢問開發人員。 (但我想他們希望避免打破現有人員的數據庫安裝與不兼容的更改。) –

回答

2

當然沒有人能爲開發團隊可言,但MyISAM seems to be the most appropriate choice for these tables

  • 爲行級鎖沒有真正的需要:有一點,如果需要任何併發性,因爲很少有線程(通常是一個:管理員)應該一次寫入該數據庫。表級鎖定就足夠了。
  • 非常罕見需要事務處理:典型的訪問是隻讀的
  • 很少需要支持外鍵:結構很簡單,MySQL開發人員不需要保護來維護參照完整性(甚至不需要智能管理員,不應該擺弄這個數據庫:管理工具和命令存在的原因)
  • 速度確實很重要:MyISAM仍然比InnoDB稍快,特別是對於讀取
  • 如果它沒有損壞, t修復它

我可以看到一個理由切換到但是InnoDB:its resistance to crashes and its ability to recover from one,由於其交易性質。

+0

比這更簡單。由於技術原因,mysql/*表現在不能成爲InnoDB,Oracle正在努力解決這個問題。這不是一個簡單的改變,所以需要一些時間。 – akuzminsky

+0

你爲什麼不發表這個答案,並附上一些支持這種說法的證據? – RandomSeed

1

有人認可InnoDB over MyISAM,但這並不意味着MyISAM是無用的。

從一般意義上講,InnoDB解決了很多問題,這些問題是MyISAM的限制,這對於人們擁有的大量需求是很有好處的;但在某些情況下,MyISAM比InnoDB更好。

例如,如果您的系統是密集讀取的,MyISAM接管InnoDB,並且在許多其他情況下;進一步它提供了與舊版應用程序的兼容性,這些應用程序想要升級到更新版本的MySQL,這是MySQL社區在所有新版本中支持它的最大原因之一。

您可能想閱讀以下鏈接以獲取更多信息,以便在兩種情況下進行比較。

When to use MyISAM and InnoDB?

Comparison between MyISAM and InnoDB

+0

不是所問問題的答案。 – GhostGambler

相關問題