根据用途使用一些InnoDB和一些MyISAM表来建立数据库是一种好习惯吗?我只会为参与事务的人员设置InnoDB,为其他所有事务设置MyISAM。这会产生某种负面影响还是避免该解决方案的任何方法?
最佳答案
除非您可以证明使用MyISAM具有明显的性能优势,或者需要MyISAM的FULLTEXT或GIS索引,否则对所有表都使用InnoDB。
InnoDB是MySQL 5.5及更高版本中的默认存储引擎。 InnoDB具有崩溃安全性,并且正在积极开发中。在大多数情况下,它具有比MyISAM更好的性能。
MyISAM在崩溃期间很容易损坏。它不会将数据同步保存到磁盘(取决于文件系统缓冲)。它仅具有表级锁定。它没有得到发展或增强,并且正在被淘汰。
关于MySQL不同的表存储引擎,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19638123/