首页 文章

MySQL - InnoDB与MyISAM

提问于
浏览
22

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

MySQL有许多数据库引擎,但你最有可能遇到MyISAM和InnoDB . 默认情况下使用MyISAM . 但是,除非您创建一个非常简单或实验性的数据库,否则几乎肯定是错误的选择! MyISAM不支持对数据完整性至关重要的外键约束或事务 . 此外,无论何时插入或更新记录,整个表都会被锁定:随着使用量的增加,它会对性能产生不利影响 . 解决方案很简单:使用InnoDB .

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

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

谢谢!

2 回答

  • 1

    是的,如果你愿意,你可以交换进出内衣等引擎,没有太多麻烦 . 只需在phpmyadmin中更改它 .

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

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

    UPDATE

    从MySQL 5.6开始,FULLTEXT也已经为InnoDB表实现了 . 这是manual .

  • 30

    很抱歉碰到一个老问题,但这也帮助我选择了哪个引擎,特别是因为MyISAM的读取速度更快,而且我的数据库表有更多的读取内容:

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

相关问题