首页 > 解决方案 > MySQL innoDB 页面会在硬盘内碎片化吗?还是 InnoDB 防止这种情况发生以加快查询速度?

问题描述

我的意思是:

https://dev.mysql.com/doc/internals/en/innodb-page-structure.html

这些 16KB 的 MySQL 页面会在内存或磁盘中碎片化吗?这意味着如果我们获取磁盘映像或内存映像,这些 16KB 页面是否有可能被分割?这意味着如果我拍摄 MySQL 文件夹的图像,那么 16KB 的页面会是连续的块还是其中一些会变得碎片化?

还是 MySQL 以一种不会碎片化的方式实现它们?如果是这样,如何?

标签: mysqlinnodb

解决方案


与 MySQL 或 InnoDB 相比,这更像是一个文件系统或操作系统问题。InnoDB 正在写入文件,文件系统确实有可能将写入分段到单个 16 KiB InnoDB 页面,因此它在物理磁盘上不连续。然而,对于现代服务器和 SSD 存储,这基本上 100% 发生在底层媒体上。

至少,这对我来说通常不是问题。


推荐阅读