簡體   English   中英

結合使用InnoDB和MyIsam表

[英]Using a combination of InnoDB and MyIsam tables

我有2個表,這些表中我想要更強大的功能,而且幸運的是不需要頻繁快速填充數據和檢查。 所有其他表將不可避免地是MyISAM。

我是否可以安全地使用兩者(我已經從中讀到了一些勸阻),而不必擔心錯誤或數據會因引擎之間的差異而受到影響?

您可以,但這會帶來許多缺點:

  • 現在,您的服務器調整將必然是一個折衷方案-您不能將所有內存都用於MyISAM或InnoDB(注意:如果它們位於不同的服務器上,則不適用)
  • 復制在許多極端情況下都會失敗,因為如果您有一個失敗的事務,其中包含對某些MyISAM表的更改,則它既不能正確地提交它也不能回滾它。
  • 您仍然無法使用MVCC備份服務器,因為您仍無法獲得MyISAM表的一致快照

因此,基本上,我鼓勵您完全轉向InnoDB。 然后,您幾乎可以忘記MyISAM,而不必投入大量資源,並獲得使用InnoDB的全部好處。 任何認為MyISAM更快的人要么沒有正確調整InnoDB,要么擁有如此小的數據以至於不在乎。

MyISAM的表掃描速度更快,但是如果在大型表上進行掃描,則會遇到更大的問題。

是的你可以。

請注意,只有InnoDB表支持事務和FOREIGN KEY關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM