【发布时间】:2009-05-29 22:39:26
【问题描述】:
我使用了一个现有的 MySQL 数据库,并在新主机上设置了一个副本。
新主机上某些表的文件大小比旧主机上的对应文件小 1-3%。
我很好奇为什么会这样。
我的猜测是,旧主机的文件随着时间的推移而增长,并且在该文件的 b 树结构中,存在更多碎片。而新主机,因为它是从头开始创建文件(通过二进制日志),避免了这种碎片。
在 b 树结构本身中存在碎片是否有意义? (说的是数据库层,而不是操作系统文件系统层)我原本以为“不”,但话说回来,这种碎片不是 DBA 压缩数据库文件任务的基础吗?
我想知道这是否只是文件系统层的产物。即新主机的磁盘驱动器大部分为空,因此较少的碎片将导致分配新文件。再说一次,我认为碎片不会出现在报告的文件大小(Linux 操作系统)中。
【问题讨论】:
标签: sql mysql filesystems