使用InnoDB和MyIsam表的组合

Gal*_*Gal 13 mysql

我有2个表,我想要更强大,幸运的是不需要频繁的快速数据和检查.所有其他表格都不可避免地是MyISAM.

我可以安全地使用两者(我已经从中读过一些劝阻)而不用担心错误或数据会受到引擎之间差异的影响吗?

Mar*_*rkR 25

你可以,但这带来了许多缺点:

  • 您的服务器调优现在必然是妥协 - 您不能将所有内存用于MyISAM或InnoDB(注意:如果它们位于不同的服务器上,则不适用)
  • 复制在许多边缘情况下失败,因为如果您有一个失败的事务,其中包含对某些MyISAM表的更改,它既不能正确提交它也不能回滚它
  • 您仍然无法使用MVCC备份服务器,因为您仍然无法获得MyISAM表的一致快照

所以基本上,我鼓励你完全切换到InnoDB.那么你几乎可以忘记MyISAM而不是投入资源,并获得使用InnoDB的全部好处.任何认为MyISAM更快的人要么没有正确调整InnoDB,要么有如此小的数据谁愿意.

MyISAM可以更快地进行表扫描,但如果您在大型表上执行这些操作,则会遇到更大的问题.


Qua*_*noi 11

是的你可以.

请注意,只有InnoDB表支持事务和FOREIGN KEY关系.