MySQL-各大存储引擎介绍

Mysql的存储引擎

mysql的存储引擎是插拔式的存储引擎,存储引擎是指定再表之上,即一个库中的每一个表都可以指定专用的存储引擎,不管表采用什么样的存储引擎,都会再数据区,产生对应的frm文件(表结构定义描述文件)

CSV存储引擎

特点:

  • 不能定义没有索引,列定义必须为NOT NULL,不能设置自增列
    • 不适用大表或者数据的在线处理
  • CSV数据的存储用','隔开,可以直接编译CSV文件进行数据的编排
    • 数据安全性低
  • 编辑后,要生效可使用命令:flush table table_name;

应用场景:

  • 数据的快速导入导出
  • 表格直接转换成CSV

Archive存储引擎

压缩协议进行数据的存储,数据存储为ARZ文件格式

特点:

  • 只支持insert和select两种操作
  • 只允许自增ID列建立索引
  • 行级锁
  • 不支持事务
  • 数据占用磁盘少

应用场景:

  • 日志系统
  • 大量的设备数据采集

Memory存储引擎

数据都是存储再内存中,IO效率要比其他引擎高很多,服务重启数据丢失,内存数据表默认只有16M

特点:

  • 支持hash索引,B Tree索引,默认hash(查找复杂度O(1))
  • 字段长度都是固定长度varchar(32) = char(32)
  • 不支持大数据存储类型字段如blog,text
  • 表级锁

应用场景:

  • 等值查找热度较高数据
  • 查询结果内存中的计算,大多数都是采用这种存储引擎作为临时表,存储需计算的数据

Myisam存储引擎

Mysql5.5版本之前默认存储引擎,较多的系统表也还是使用这个存储数据,系统临时表也会用到Myisam存储引擎

特点:

  • select count(*) from table 无需进行数据的扫描
  • 数据的索引分开存储
  • 表级锁
  • 不支持事务

InnoDB存储引擎

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

特点:

  • 事务ACID
  • 行级锁
  • 聚集索引(主键索引)方式进行数据存储
  • 支持外键关系保证数据完整性,ps:没啥用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值