虽然mysql里的存储引擎不只是myisam与innodb这两个,但常用的就是它俩了。可能有站长并未注意过mysql的存储引擎,其实存储引擎也是数据库设计里的一大重要点,那么博客系统应该使用哪种存储引擎呢?下面我们分别来看两种存储引擎的区别。 mysql存储引擎myisa
虽然mysql里的存储引擎不只是myisam与innodb这两个,但常用的就是它俩了。可能有站长并未注意过mysql的存储引擎,其实存储引擎也是数据库设计里的一大重要点,那么博客系统应该使用哪种存储引擎呢?下面我们分别来看两种存储引擎的区别。
mysql存储引擎myisam与innodb的区别
一、innodb支持事务,myisam不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而myisam就不可以了。
二、myisam适合查询以及插入为主的应用,innodb适合频繁修改以及设计到安全性就高的应用
三、innodb支持外键,myisam不支持
四、myisam是默认引擎,innodb需要指定
五、innodb不支持fulltext类型的索引
六、innodb中不保存表的行数,如select count(*) from table时,innodb需要扫描一遍整个表来计算有多少行,但是myisam只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含where条件时myisam也需要扫描整个表
七、对于自增长的字段,innodb中必须包含只有该字段的索引,但是在myisam表中可以和其他字段一起建立联合索引
八、清空整个表时,innodb是一行一行的删除,效率非常慢。myisam则会重建表
九、innodb支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like '%lee%'
通过以上九点区别,结合个人博客的特点,推荐个人博客系统使用myisam,因为在博客里主要操作是读取和写入,很少有链式操作。所以选择myisam引擎使你博客打开也页面的效率要高于innodb引擎的博客,当然只是个人的建议,大多数博客还是根据实际情况下谨慎选择。我的小站目前就使用myisam引擎!