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