首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql如何在它的文件中写入新数据,这些文件在我更新数据时存储在文件系统中。

问mysql如何在它的文件中写入新数据,这些文件在我更新数据时存储在文件系统中。
EN

Database Administration用户
提问于 2021-12-14 10:28:22
回答 2查看 87关注 0票数 0

我想知道,当我更新一个表的中间数据时,mysql如何将新数据写入存储在文件系统中的文件中?创建一个模板文件来存储中间数据的后部分?

EN

回答 2

Database Administration用户

发布于 2021-12-14 12:14:05

这里有一个基本的概念,你真的必须让你的头。

代码语言:javascript
复制
Database != File

数据库所做的大部分事情发生在内存中,而不是在磁盘上。

当您在数据库中进行任何更改时,在将更改写入磁盘上的数据文件之前会发生很多事情。

  • 首先,将“更改向量”写入“事务日志”(诚然,该日志位于磁盘上,以便恢复),
  • 其次,此更改应用于缓冲区缓存中的数据块,这是一个包含数据库中许多“位”的大内存块。
  • 在某种程度上,不同的DBMS对以后的时间有很大的不同看法,数据块被推开,实际上写到磁盘上。

这就是为什么您不应该使用纯基于文件的工具来处理基于数据库的工具,因为基于数据库的工具只能看到文件中的内容,而数据库正在做的大部分事情还没有出现。

要获得更多的背景信息,请阅读一些MySQL建筑文档。

请注意,里面有很多东西,但基本知识应该会有所帮助。(这一切都是免费的!)

票数 1
EN

Database Administration用户

发布于 2021-12-14 19:33:58

简单回答:数据存储在每个16 in的“块”中。这些块不一定按“顺序”排列。当您更新、插入或删除表中间的一行时,它会进入(或从)相应的块中删除。

如果这个块不是太大,它就会被“分割”成两个块。它们被放置在包含数据的“文件”中。

有关如何跟踪块,请参见"BTree“。数据由PRIMARY KEY排序。( BTree使用排序。)

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/303920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档