美文网首页
MySQL存储引擎简介(MyISAM,Innodb,CSV)

MySQL存储引擎简介(MyISAM,Innodb,CSV)

作者: 宁静的猫 | 来源:发表于2020-01-09 11:26 被阅读0次

    1、MyISAM

    MyISAM是MySQL5.5之前版本的默认存储引擎。
    MyISAM引擎的表由MYD和MYI文件组成,MYD为数据文件,MYI为索引文件。

    特性

    a、使用表级锁,修改数据需要加锁,读取数据需要加共享锁
    b、表损坏修复功能
    c、支持的索引有全文索引
    d、支持数据压缩,压缩后只能进行读操作,命令行:myisampack

    使用场景

    a、非事务型应用
    b、只读类应用
    c、空间类应用、如gps

    2、Innodb

    MySQL5.5之后版本的默认存储引擎变成了Innodb。

    表空间

    Innodb使用表空间进行数据存储,当系统变量innodb_file_per_table为ON时,数据存储到独立表空间,为每一张表创建一个tablename.ibd文件;当为OFF时,数据存储到系统表空间,ibdataX。
    系统表空间无法简单的收缩文件大小,会产生IO瓶颈。
    独立表空间可以通过optimize table命令收缩文件系统,可以向多个文件刷新数据。

    Redo Log和Undo Log

    Redo Log保存已经提交的事务
    Undo Log保存未提交的事务,可以将Undo Log存储在固态设备上,获得更好的性能

    3、CSV

    CSV存储引擎的数据以文本方式存储在文件中
    .CSV文件存储表内容
    .CSM文件存储表的元数据如表状态和数据量
    .frm文件存储表结构信息
    CSV不支持索引,所有列不能为null

    适用场景

    作为数据交换的中间表

    相关文章

      网友评论

          本文标题:MySQL存储引擎简介(MyISAM,Innodb,CSV)

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