繁体   English   中英

MySQL - InnoDB与MyISAM

[英]MySQL - InnoDB vs 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM