mysql那些事建表存储引擎的选择

Posted 壁虎漫步.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql那些事建表存储引擎的选择相关的知识,希望对你有一定的参考价值。

mysql见表的时候,会遇到选择存储引擎:MyISAM和InnoDB。究竟用哪种存储引擎好呢?

1、MyISAM:表锁;支持全文索引;读并发性能较好。

2、InnoDB:行锁;支持事务,支持外键;写并发性能较好。

 

实际上,现在大多数的公司里,mysql的规定都是使用InnoDB作为默认存储引擎,除了支持事务和行锁是比较重要的两个原因外,其实MyISAM在实际应用场景中意义也不大,并且一个重要原因是,官方支持力度大。oracle很早就收购了InnoDB,后面又收购了mysql,现在重点发展InnoDB引擎。

另外,MyISAM表锁在并发写操作多时会严重影响读操作。

那InnoDB的在又是怎么弥补读并发和索引的问题呢?

索引现在不应该用mysql本身来解决,应该使用第三方的软件,比如:ES,Sphinx;

至于读表的性能,从架构和缓存等方面完全可以解决,并且技术解决方案非常成熟。

so,创建mysql数据表请毫不犹豫选择:InnoDB。

以上是关于mysql那些事建表存储引擎的选择的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中创建表指定存储引擎

MySQL的建库建表建约束与存储引擎

MySQL的建库建表建约束与存储引擎

mysql的存储引擎有那些? 它们的区别是

MySQL存储引擎以及索引原理

mysql建表规范及注意事项