InnoDB与MyISAM

我昨天阅读了以下文章(http://blogs.sitepoint.com/2010/11/19/mysql-mistakes-php-developers/),它写下了以下内容:

MySQL有许多数据库引擎,但你最有可能遇到MyISAM和InnoDB。

MyISAM默认使用。 但是,除非您创建了一个非常简单的或实验性的数据库,否则几乎肯定是错误的选择! MyISAM不支持对数据完整性至关重要的外键约束或事务。 此外,无论何时插入或更新记录,整个表都会被锁定:随着使用量的增长,会对性能产生不利影响。

解决方案很简单:使用InnoDB。

我一直使用MyISAM,因为它是默认的。 你怎么看?

如果我要升级到InnoDB,在phpMyAdmin中,我可以编辑每个表并将其更改为innoDB,还是有更复杂的过程来执行?

谢谢!


是的,如果你喜欢,你可以换入和换掉像内衣一样的引擎,而不会有太多麻烦。 只需在phpmyadmin中更改它。

但为了改变它,我不会改变它。 你需要使用外键吗? 更改。 你需要行级锁而不是表锁? 更改。

值得注意的是,使用MyISAM也有很好的理由。 看看FULLTEXT索引。 你不能用InnoDB做到这一点。

UPDATE

从MySQL 5.6起,FULLTEXT也已经用于InnoDB表。 这是手册。


对不起,因为碰到了一个老问题,但是这也帮助我选择了哪个引擎,特别是因为MyISAM读取速度更快,而且我的数据库表更多地读取了写入:

http://www.rackspace.com/knowledge_center/article/mysql-engines-myisam-vs-innodb

链接地址: http://www.djcxy.com/p/52225.html

上一篇: InnoDB vs MyISAM

下一篇: is myisam table type really better for a log table (mysql)?