美文网首页
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