MySQL存储引擎总结

一、MyISAM

MySQL5.5之前默认的存储引擎。
  • 表压缩

    myisampack -b -f /usr/local/mysql/data/mall/testmysam.MYI
    注:压缩后只能读取数据,再往表里面新增数据就新增不了。

  • 使用场景:
    (1)非事务型应用(数据仓库,报表,日志数据)
    (2)只读类应用
    (3)空间类应用(空间函数,坐标)

由于现在innodb越来越强大,myisam已经停止维护(绝大多数场景都不适合)

二、Innodb

  • Innodb是一种事务性存储引擎
  • 完全支持事务得ACID特性
  • Redo Log 和 Undo Log
  • Innodb支持行级锁(并发程度更高)

三、CSV

  • 以csv格式进行数据存储
  • 所有列都不能为null的
  • 不支持索引(不适合大表,不适合在线处理)
  • 可以对数据文件直接编辑(保存文本文件内容,修改后需要执行刷新命令:flush privileges;)

四、Archive

  • 组成
    以zlib对表数据进行压缩,磁盘I/O更少
    数据存储在ARZ为后缀的文件中

  • 特点:
    只支持insert和select操作
    只允许在自增ID列上加索引

五、Memory

在这里插入图片描述

  • 特点:
    (1)文件系统存储特点,也称HEAP存储引擎,所以数据保存在内存中
    (2)支持HASH索引和BTree索引
    (3)所有字段都是固定长度 varchar(10) = char(10)
    (4)不支持Blog和Text等大字段
    (5)Memory存储引擎使用表级锁
    (6)最大大小由max_heap_table_size参数决定

  • 使用场景:
    (1)hash索引用于查找或者是映射表(邮编和地区的对应表)
    (2)用于保存数据分析中产生的中间表
    (3)用于缓存周期性聚合数据的结果表

六、Ferderated

  • 特点:
    (1)提供了访问远程MySQL服务器上表的方法
    (2)本地不存储数据,数据全部放到远程服务器上
    (3)本地需要保存表结构和远程服务器的连接信息

  • 使用场景:偶尔的统计分析及手工查询(某些游戏行业)

  • 默认禁止,启用需要再启动时增加federated参数
    在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值