Mysql几种常见的存储引擎

一、CSV存储引擎

数据存储以CSV文件特点:不能定义没有索引、列定义必须为NOT NULL、不能设置自增列

-->不适用大表或者数据的在线处理

CSV数据的存储用,隔开,可直接编辑CSV文件进行数据的编排

-->数据安全性低

注:编辑之后,要生效使用flush table XXX 命令

应用场景:数据的快速导出导入表格直接转换成CSV

 

二、Archive存储引擎

压缩协议进行数据的存储

数据存储为ARZ文件格式特点:

只支持insert和select两种操作

只允许自增ID列建立索引

行级锁

不支持事务

数据占用磁盘少

应用场景:日志系统、大量的设备数据

 

三、Memory存储引擎

数据都是存储在内存中,IO效率要比其他引擎高很多

服务重启数据丢失,内存数据表默认只有16M

特点:

支持hash索引,B tree索引,默认hash(查找复杂度0(1))

字段长度都是固定长度varchar(32)=char(32)

不支持大数据存储类型字段如 blog,text

表级锁

应用场景:

(1)等值查找热度较高数据

(2)查询结果内存中的计算,大多数都是采用这种存储引擎

作为临时表存储需计算的数据

MEMORY存储引擎通常很少用到。由于基于内存,所以响应速度非常快。但若内存出现异常就会影响到数据的完整性。若重启机器或者关机,或当mysqld守护进程崩溃时,所有的MEMORY数据都会丢失。

 

四、Myisam存储引擎

Mysql5.5版本之前的默认存储引擎

较多的系统表也还是使用这个存储引擎

系统临时表也会用到Myisam存储引擎

特点:

a,select count(*) from table 无需进行数据的扫描

b,数据(MYD)和索引(MYI)分开存储

c,表级锁

d,不支持事务

 

MyISAM存储引擎的表存储成3个文件,文件名与表名相同,扩展名分别为:frm,MYD,MYI。

  • frm文件:存储表的结构。
  • myd文件:存储数据。
  • myi文件:存储存储索引。

五、Innodb存储引擎

Mysql5.5及以后版本的默认存储引擎

Key Advantages:

Its DML operations follow the ACID model [事务ACID]

Row-level locking[行级锁]

InnoDB tables arrange your data on disk to optimize queries

based on primary keys[聚集索引(主键索引)方式进行数据存储]

To maintain data integrity, InnoDB supports FOREIGN KEY

constraints[支持外键关系保证数据完整性]

 

对于表的数据存储,InnoDB存储引擎采用了聚集的方式,每张表的存储都是按主键顺序进行存放。若没有显示地在表定义时指定主键,InnoDB会为每一行生成一个6字节的ROWID,并以此作为主键。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值