我们开发项目的时候,基本上都选择innodb,但是MyISAM也有它的好处。用什么,视情况而定。
MyISAM强调性能,而innodb强调安全。
innodb无可替代的地方就是它支持事务、外键。当然,其他还有很多缺点,比如:innodb不支持fulltext索引。
对于一些重要数据的地方,表的选择肯定就得用innodb,比如:下单、支付、充值等功能,如果数据有错,那都是白花花的银子呀,所以,这种数据比较重要的地方就用innodb。
而MyISAM性能上要好很多,MyISAM的索引和数据是分开的,并且索引是有压缩的,内存使用率就对应提高了不少。能加载更多索引,而Innodb是索引和数据是紧密捆绑的,没有使用压缩从而会造成Innodb比MyISAM体积庞大不小。
对于一些数据相对不怎么重要,但是查询比较多的地方,就可以选择MyISAM。例如:商品表,添加商品的时候一般都会进行二次检查,并且可以修改商品的信息。而前台每天会有很多人频繁的查看商品,所以商品表最好使用MyISAM。