首页 > 数据库 > MySQL > 正文

MySQL存储引擎MyISAM与InnoDB的9点区别

2024-07-24 12:46:43
字体:
来源:转载
供稿:网友

虽然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引擎!

您可能感兴趣的文章:

MySQL存储引擎总结MySQL Memory 存储引擎浅析浅谈MySQL存储引擎选择 InnoDB与MyISAM的优缺点分析MySQL存储引擎中的MyISAM和InnoDB区别详解Mysql5.5 InnoDB存储引擎配置和优化MySQL存储引擎 InnoDB与MyISAM的区别MySQL修改数据表存储引擎的3种方法介绍MySQL数据库MyISAM存储引擎转为Innodb的方法深入MySQL存储引擎比较的详解MYSQL修改所有表的存储引擎格式语句Mysql存储引擎详解
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表