MySQL 常见的两种存储引擎

Posted 打怪up

tags:

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

  mysql两种常见的存储引擎有:MyISAM 和 InnoDB,两者区别如下:

1、count运算:MyISAM 有缓存表的 meta-data 元数据,元数据包括行数等,因此其做 COUNT(*) 查询时不需要消耗多少资源。而 InnoDB 就没有这个缓存。

2、事务和崩溃后的安全恢复:MyISAM强调的是性能,每次查询具备原子性,执行速度比 InnoDB 更快,但是 MyISAM 不提供事务的支持。而 InnoDB 支持事务、外部键等高级数据库功能。具有事务提交(commit)、回滚(rollback)和崩溃修复(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。

3、支持外键:InnoDB支持,MyISAM 不支持。

  MyISAM更适合读密集的表,而InnoDB更适合写密集的的表。 在数据库做主从分离的情况下,经常选择MyISAM作为主库的存储引擎。 一般来说,如果需要事务支持,并且有较高的并发读取频率(MyISAM的表锁的粒度太大,所以当该表写并发量较高时,要等待的查询就会很多了),InnoDB是不错的选择。如果你的数据量很大(MyISAM支持压缩特性可以减少磁盘的空间占用),而且不需要支持事务时,MyISAM是最好的选择。




 

以上是关于MySQL 常见的两种存储引擎的主要内容,如果未能解决你的问题,请参考以下文章

mysql的两种存储引擎

MySQL 的两种存储引擎

超简单MySQL存储引擎的选择与配置

Mysql的两种存储引擎以及区别

mysql数据库漫谈

MySQL 常见面试题