mysql
做PHP很多年,刚开始的时候接触到 ecshop dedecms discuz 这些,都是用的myisam,包括 phpmyadmin 创建数据表默认的也是myisam,然后也一直用myisam。
现在发现很多地方都开始用到回滚,包括phpmyadmin 建表默认的也都是 InnoDB。
InnoDB 是一种必须的趋势吗?假如制作一个分类信息网站,存储发布信息的帖子,有必要用InnoDB吗?
做PHP很多年,刚开始的时候接触到 ecshop dedecms discuz 这些,都是用的myisam,包括 phpmyadmin 创建数据表默认的也是myisam,然后也一直用myisam。
现在发现很多地方都开始用到回滚,包括phpmyadmin 建表默认的也都是 InnoDB。
InnoDB 是一种必须的趋势吗?假如制作一个分类信息网站,存储发布信息的帖子,有必要用InnoDB吗?
归结一下为什么InnoDB比MyIsam更流行:
1. InnoDB经过长时间的发展和优化,性能已经非常好了,绝大部分场景都能有更好的性能。最主要的原因就是InnoDB是行锁
,Myisam是表锁
。只有完全插入型或者读取型的表用Myisam会略微快一点。
2. 事务在关系型数据库中非常重要的一个特性,很多实用场景都需要用到事务特性,而InnoDB支持但MyIsam不支持。
其他的存储引擎使用场景都不太多,偶尔会用到Memory去做热表。
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
2 回答2k 阅读
数据库使用何种存储引擎取决于业务吧,读多一些并且不需要经常对表进行该的这种Myisam足够了!
经常写,如订单这种,需要多表关联的数据,用到了事务处理,这种只能用Innodb吧!
只有Innodb这种存储引擎支持事务: