6

根据使用情况设置包含一些 InnoDB 和一些 MyISAM 表的数据库是一种好习惯吗?我只会为那些涉及事务的人设置 InnoDB,而为其他所有事情设置 MyISAM。这是否有某种负面影响或任何避免这种解决方案的东西?

4

1 回答 1

5

对所有表使用 InnoDB,除非您可以证明使用 MyISAM 具有引人注目的性能优势,或者您需要 MyISAM 的 FULLTEXT 或 GIS 索引。

InnoDB 是 MySQL 5.5 及更高版本中的默认存储引擎。InnoDB 是崩溃安全的,并且正在积极开发中。在大多数情况下,它的性能比 MyISAM 更好。

MyISAM 在崩溃期间很容易损坏。它不会将数据同步保存到磁盘(依赖于文件系统缓冲)。它只有表级锁定。它没有得到任何开发或增强,并且正在被弃用。

于 2013-10-28T15:05:31.980 回答