美文网首页
MyIsam 和 innodb区别

MyIsam 和 innodb区别

作者: 祭祀WO菛僾_3930 | 来源:发表于2018-06-23 16:37 被阅读0次

虽然MySQL里的存储引擎不只是MyISAM与InnoDB这两个,但常用的就是它俩了。可能有站长并未注意过MySQL的存储引擎,其实存储引擎也是数据库设计里的一大重要点,那么博客系统应该使用哪种存储引擎呢?
下面我们分别来看两种存储引擎的区别。

  1. InnoDB支持事务,MyISAM不支持。
    这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。

  2. InnoDB支持外键,MyISAM不支持

  3. MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用

四、MyISAM是默认引擎,InnoDB需要指定

五、InnoDB过去不支持FULLTEXT类型的索引,现在,MySQL 5.6.4里添加了InnoDB引擎的 Full-Text索引支持

六、InnoDB中不保存表的行数,如select count() from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count()语句包含where条件时MyISAM也需要扫描整个表

七、对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引

八、清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表

九、InnoDB支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like '%lee%'

  1. 如果你的应用程序对查询性能要求较高,就要使用MYISAM了。MYISAM索引和数据是分开的,而且其索引是压缩的,可以更好地利用内存。所以它的查询性能明显优于INNODB。压缩后的索引也能节约一些磁盘空间。MYISAM拥有全文索引的功能,这可以极大地优化LIKE查询的效率。

通过以上区别,结合个人博客的特点,推荐个人博客系统使用MyISAM,因为在博客里主要操作是读取和写入,很少有链式操作。所以选择MyISAM引擎使你博客打开也页面的效率要高于InnoDB引擎的博客,当然只是个人的建议,大多数博客还是根据实际情况下谨慎选择

有人说MYISAM只能用于小型应用,其实这只是一种偏见。如果数据量比较大,这是需要通过升级架构来解决,比如分表分库,而不是单纯地依赖存储引擎。

其他一些说法:

现在一般都是选用innodb了,主要是myisam的全表锁,读写串行问题,并发效率锁表,效率低myisam对于读写密集型应用一般是不会去选用的。

关于Mysql数据库默认的存储引擎:

MyISAM和InnoDB是MySQL的两种存储引擎。如果是默认安装,那就应该是InnoDB,你可以在my.ini文件中找到default-storage-engine=INNODB;当然你可以在建表时指定相应的存储引擎。通过show create table xx 可以看见相应信息。

相关文章

  • mysql

    常见的储存引擎 InnoDB MyISAM MyISAM和InnoDB的区别 ①InnoDB支持事务,MyISAM...

  • 数据库引擎

    MyISAM和InnoDB区别

  • 常见面试题

    MyISAM和InnoDB的区别 MyISAM不支持事务,而InnoDB支持事务的。 MyISAM锁的粒度是表级,...

  • MySQL 篇 --- 2021-08-31

    MyISAM 和 InnoDB 的区别 MyISAM 查询效率更高,但是不支持事物 InnoDB 插入、更新较高,...

  • 文章总结(6)—数据库

    InnoDB和MyISAM存储引擎的区别 InnoDB使用的是行锁,MyISAM使用的是表锁; InnoDB支持事...

  • 数据库常见问题

    MyISAM和InnoDB 主要区别: 1).[事务]MyISAM是非事务安全型的,而InnoDB是事务安全型的,...

  • Innodb和MyIsam的区别

    Innodb和MyIsam的区别 (1)对事务的⽀持不同MyIsam不⽀持事务,⽽InnoDB⽀持事务。(2)锁的...

  • MySQL学习日记(十一)-技术问答

    一、MySQL主要存储引擎MyISAM和InnoDB的区别? 1、 存储结构 MyISAM:每个MyISAM在磁盘...

  • mysql的引擎、innodb/Myisam 的区别

    四种引擎:Memory、MYISAM、DBD、InnoDB、Archive MyISAM与InnoDB的区别MyI...

  • mysql(七)

    MySQL存储引擎-innodb 查看存储引擎 innodb和myisam的物理区别 innodb 核心特性 MV...

网友评论

      本文标题:MyIsam 和 innodb区别

      本文链接:https://www.haomeiwen.com/subject/yvfdyftx.html