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