2.1 mysql存储-存储引擎

前言

上一章我们只是过一下,如果你拿到一个mysql源码如何去编译。你会问题,学会这个有什么用呀?当然有用啦,万一那天让你去改mysql源码呢!_

本章开始,我们就需要根据我日常使用的一些流程,来慢慢的去了解mysql的源码。本章去看看mysql是怎么存储的。

存储引擎

存储引擎是MySQL最核心的模块,并且非常复杂,希望能够通过自己一些有限的支持,能够给大家讲出去。

存储引擎解决什么问题

存储引擎将数据存储到文件或者内存中,不同的存储引擎数据的存储机制、索引技术、锁的能力都是有差别的。存储类型是在定义表结构的时候就已经确定的,因此也叫做表类型。

查看存储引擎

首先看看,MySQL都支持哪些存储引擎

mysql>show engines;
EngineSupportCommentTransactionsXASavepoints
ARCHIVEYESArchive storage engineNONONO
BLACKHOLEYES/dev/null storage engine (anything you write to it disappears)NONONO
MRG_MYISAMYESCollection of identical MyISAM tablesNONONO
FEDERATEDNOFederated MySQL storage engineNULLNULLNULL
MyISAMYESMyISAM storage engineNONONO
PERFORMANCE_SCHEMAYESPerformance SchemaNONONO
InnoDBDEFAULTSupports transactions, row-level locking, and foreign keysYESYESYES
MEMORYYESHash based, stored in memory, useful for temporary tablesNONONO
CSVYESCSV storage engineNONONO

从上面的信息看,InnoDB做为mysql的默认存储引擎,并且支持事务、XA事务以及部分事务。因此,也是现在最广泛的使用的存储类型。在某度上面简单介绍了下整体的存储引擎,可以让我们在做类型选择的时候快速的做一个大致的选择。

总结

本章大致了解了下,MySQL的存储类型。可以思考下,我们日常开发中,在定义表类型的时候,现在回想下,有没有根据不同的业务去定义不同的表类型。如果我们使用了各种各样的表类型,这个数据库管理的复杂度会增加,这块需要怎么去处理。

都说了是源码分析,可是到现在都没有出现一行源码。下一章肯定有_

返回首页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sinom21

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值