暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
4从一条记录说起—— InnoDB 记录结构(02).pdf
152
31页
20次
2022-03-14
免费下载
InnoDB
标签 MySQL 是怎样运⾏的
准备
到现在为⽌MySQL对于我们来说还是⼀个⿊盒,我们只负责使⽤
户端发送请求并等待服务器返回结果,表中的数据到底存到了哪⾥
以什么格式存放的?MySQL以什么⽅式来访问的这些数据?这些
题我们统统不知道,对于未知领域的探索向来就是社会主义核⼼价
观中的⼀部分,作为新⼀代社会主义接班⼈,不把它们搞懂怎么⽀
祖国建设呢
我们前边唠叨请求处理过程的时候提到过,MySQL务器上负责对
中数据的读取和写⼊⼯作的部分是存储引擎,⽽服务器⼜⽀持不同
型的存储引擎,⽐如InnoDBMyISAMMemory啥的,不同的存储
引擎⼀般是由不同的⼈为实现不同的特性⽽开发的,真实数据在不
存储引擎中存放的格式⼀般是不同甚⾄有的存储引擎⽐如
Memory不⽤磁盘来存储数据,也就是说关闭服务器后表中的数据
就消失了。由于InnoDBMySQL认的存储引擎,也是我们最常⽤
到的存储引擎,我们也没有那么多时间去把各个存储引擎的内部实
都看⼀遍,所以本集要唠叨的是使InnoDB作为存储引擎的数据存
储结构,了解了⼀个存储引擎的数据存储结构之后,其他的存储引
都是依葫芦画瓢,等我们⽤到了再说哈
InnoDB
InnoDB⼀个将表中的数据存储到磁盘上的存储引擎,所以即使关
机后重启我们的数据还是存在的。⽽真正处理数据的过程是发⽣在
存中的,所以需要把磁盘中的数据加载到内存中,如果是处理写⼊
修改请求的话,还需要把内存中的内容刷新到磁盘上。⽽我们知道
写磁盘的速度⾮常慢,和内存读写差了⼏个数量级,所以当我们想
表中获取某些记录时InnoDB储引擎需要⼀条⼀条的把记录从磁
盘上读出来么?不,那样会慢死,InnoDB取的⽅式是:将数据划
分为若⼲个⻚,以⻚作为磁盘和内存之间交互的基本单位InnoDB
中⻚的⼤⼩⼀般
16
KB也就是在⼀般情况下,⼀次最少从磁盘
中读16KB内容到内存中,⼀次最少把内存中16KB内容刷新到
磁盘中。
InnoDB
我们平时是以记录为单位来向表中插⼊数据的,这些记录在磁盘上
存放⽅式也被称为⾏格式或者记录格式。设InnoDB存储引擎的⼤
叔们到现在为⽌设计4种不同类型的⾏格式,分别
CompactRedundantDynamicCompressed⾏格式,随着
时间的推移,他们可能会设计出更多的⾏格式,但是不管怎么变,
原理上⼤体都是相同的。
指定⾏格式的
我们可以在创建或修改表的语句中指定⾏格式:
CREATE TABLE (列的信息) ROW_FORMAT=格式名称
ALTER TABLE 表名 ROW_FORMAT=格式名称
⽐如我们在xiaohaizi据库⾥创建⼀个演示⽤
record_format_demo可以这样指定它的⾏格式
of 31
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜