MySQL常见存储引擎及特点

MySQL常见存储引擎及特点

0. 一些命令

0.1 查看支持的存储引擎

show engines;

在这里插入图片描述

0.2 查看某个引擎工作状态

show engine innodb status;

在这里插入图片描述

0.3 查看重要的属性

show VARIABLES like 'innodb%'

在这里插入图片描述

1. InnoDB

InnoDB 面向在线事务处理方面的应用

  1. 支持事务

  2. 支持行锁

  3. 支持外键

  4. 支持非锁定读

  5. 聚集索引

  6. 必须要有主键,且每张表都按照主键的顺序存放

  7. 如果没有主键,存储引擎会为每一行生成一个6字节的ROWID,作为主键

  8. 利用多版本并发控制实现各个隔离级别,默认隔离级别 REPEATABLE READ,通过next-key locking机制避免幻读

  9. 是Windows下的默认的存储引擎

2. MyISAM

MyISAM 对于一些在线分析处理操作速度快

  1. 不支持事务
  2. 表锁,并发性差
  3. 全文索引
  4. 除了Windows版本以外的,其他MySQL版本的默认存储引擎
  5. MyISAM存储引擎表由MYD和MYI组成,MYD用来存放数据文件,MYI用来存放索引文件
  6. 还可以通过myisampack工具进一步压缩(赫夫曼编码静态算法)数据文件,也可用该工具解压
  7. MySQL只缓存索引文件,数据文件由操作系统缓存

3. Memory

  1. 数据放在内存中
  2. 适合存储临时数据的临时表
  3. 默认使用哈希索引
  4. 表锁,并发性差
  5. 不支持TEXT和BLOG类型
  6. VARCHAR内部用CHAR存储,浪费了内存
  7. 如果大于了Memory容量设置会被转换为MyISAM存储引擎

4. Archive

  1. 只支持INSERT和SELECT操作
  2. 将数据行用zlib算法压缩后存储,一般压缩比例 1:10
  3. 适合存放归档数据,如日志信息
  4. 使用行锁实现高并发
  5. 不是事务安全
  6. 设计目标:提供高速的插入和压缩功能

5. Maria

  1. 新开发的存储引擎
  2. 目标:取代原有的MyISAM,成为默认的引擎
  3. 特点:缓存数据和索引文件,行锁,MVCC,事务和非事务可选,更好的BLOB类型处理
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值