mysql - MySQL innoDB 页面会在硬盘内碎片化吗?还是 InnoDB 防止这种情况发生以加快查询速度?
问题描述
我的意思是:
https://dev.mysql.com/doc/internals/en/innodb-page-structure.html
这些 16KB 的 MySQL 页面会在内存或磁盘中碎片化吗?这意味着如果我们获取磁盘映像或内存映像,这些 16KB 页面是否有可能被分割?这意味着如果我拍摄 MySQL 文件夹的图像,那么 16KB 的页面会是连续的块还是其中一些会变得碎片化?
还是 MySQL 以一种不会碎片化的方式实现它们?如果是这样,如何?
解决方案
与 MySQL 或 InnoDB 相比,这更像是一个文件系统或操作系统问题。InnoDB 正在写入文件,文件系统确实有可能将写入分段到单个 16 KiB InnoDB 页面,因此它在物理磁盘上不连续。然而,对于现代服务器和 SSD 存储,这基本上 100% 发生在底层媒体上。
至少,这对我来说通常不是问题。
推荐阅读
- c# - 将 JSON 数组反序列化为列表
- linker - 在链接时将来自多个目标文件的符号连接到一个表(例如 vtable)中
- c++ - 在 gdb 中显示当前函数的调用函数
- php - Laravel 使用 cpanel 通过共享主机发送电子邮件 - 失败
- awk - 如果使用 awk 在文件中找到匹配项,则在匹配后打印第 n 行的第 m 列
- netlogo - 如何使海龟根据彼此之间不同的间隔间隔表现出不同的行为?
- google-cloud-platform - 架构帮助 - ETL 数据流和处理的替代方案
- image - imagemagick 将图像裁剪为 pdf:pdf 保持裁剪尺寸
- r - 将不同文件夹中的 CSV 文件读入数据框,从现有 CSV/数据框追加数据
- android - 在运行 Android 的 Raspberry Pi 3 上配置 Python 3