MySQL —— 存储引擎的 InnoDB 与 MyISAM 之争

做为 MySQL 数据库的两种主要的存储引擎,InnoDB 与 MyISAM 各有长处。数据库

在 MySQL 5.1 及以前的版本中,MyISAM 是默认的存储引擎,而在 MySQL 5.5 版本之后,默认使用 InnoDB 存储引擎。索引

MyISAM 不支持行级锁,换句话说,MyISAM 会对整张表加锁,而不是针对行。同时,MyISAM 不支持事务和外键。MyISAM 可被压缩,存储空间较小,并且 MyISAM 在筛选大量数据时很是快。事务

InnoDB 是事务型引擎,当事务异常提交时,会被回滚。同时,InnoDB 支持行锁。此外,InnoDB 须要更多存储空间,会在内存中创建其专用的缓冲池用于高速缓冲数据和索引。InnoDB 支持自动奔溃恢复特性。内存

InnoDB 与 MyISAM 的主要区别it

对于如何选择 InnoDB 与 MyISAM 存储引擎。im

建议:通常状况下,应该优先选择 InnoDB 存储引擎,而且尽可能不要将 InnoDB 与 MyISAM 混合使用。数据

相关文章
相关标签/搜索