美文网首页
MySQL存储引擎 InnoDB和MyISAM的区别

MySQL存储引擎 InnoDB和MyISAM的区别

作者: 阳光灿烂的馒头 | 来源:发表于2019-06-15 09:36 被阅读0次

    InnoDB:

    1.支持事物处理,回滚,操作具有原子性

    2.不加锁读取

    3.支持外键,不支持全文检索

    4.支持行锁

    5.不支持FULLTEXT类型索引

    6.不保存表的具体行数,通过扫描表来计算有多少行

    7.DELETE表时,是一行一行的删除数据

    8.InnoDB把数据和索引存放在表空间里

    9.跨平台可以直接靠拷贝使用

    10.    InnoDB中包含AUTO_INCREMENT类型字段得索引,表格很难被压缩。

    MyISAM:

    1.不支持事务,回滚将造成不完全回滚,不具有原子性

    2.不支持外键

    3.支持全文检索

    4.保存表的具体行数,不带where时,直接返回保存的行数

    5.DELETE表时,先DROP表,然后在重建表

    6.MyISAM表被存放在三个文件,frm文件存放表格定义,数据文件是MYD(MYdata),索引文件是MYI(MYIndex)引申

    7.跨平台很难直接被使用

    8.MyIASM中使用AUTO_INCREMENT类型字段建立联合索引表格可以被压缩

    选择

    因为MyISAM相对简单所以在效率上要优于InnoDB,如果系统读多,写少。对原子性要求较低。那么MyISAM最好的选择,且MyISAM恢复速度快,可直接备份恢复

    如果哦系统读少,写的多的时候,尤其是并发写入高的时候,InnobDB就是首选了。

    总之两种类型都有自己的有优缺点,使用哪一个完全要看实际情况。

    相关文章

      网友评论

          本文标题:MySQL存储引擎 InnoDB和MyISAM的区别

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