Mysql数据库的两种引擎:InnoDB 与 MyISAM对比及选择

网站建设 2021-03-26969℃ 0 0

按照度量的说明:
1)InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。
2)MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用
3)InnoDB支持外键,MyISAM不支持
4)从MySQL5.5.5以后,InnoDB是默认引擎
5)InnoDB不支持FULLTEXT类型的索引
6)InnoDB中不保存表的行数,如select count() from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count()语句包含where条件时MyISAM也需要扫描整个表
7)对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引
8)清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表
9)InnoDB支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like ‘%lee%’。

上面说的太复杂,这里博主简单归纳几条吧:
1.Myisam更适合迁移数据库,直接停mysql拷贝数据库文件夹,授权就搞定了;
2.Myisam更适合查询比较多的情况,Innodb更适合大规模写入;
3.Innodb适合大型网站,一般网站用Myisam就可以了;

  1. Innodb是高版本mysql的默认引擎,是未来趋势。

最后说明下博主所用引擎为myisam,个人小站,本来用的程序也是轻blog,mysql版本也是老掉牙的5.5.6,所以绰绰有余了,还是一句老话,适合自己的才是最好的

评论 (0)

评论已关闭

友情链接
Top