MySQL 9.0 发行说明
磁盘数据表的可变长度列占用固定大小的空间。对于每行,这等于存储该列可能的最大值所需的空间。
有关计算这些值的常规信息,请参见 第 13.7 节,“数据类型存储需求”。
您可以通过查询信息模式
FILES
表来估计数据文件和撤消日志文件中的可用空间。有关更多信息和示例,请参见 第 28.3.15 节,“INFORMATION_SCHEMA FILES 表”。注意该
OPTIMIZE TABLE
语句对磁盘数据表没有任何影响。磁盘数据表中的每一行使用内存中的 8 个字节来指向存储在磁盘上的数据。这意味着,在某些情况下,将内存中列转换为基于磁盘的格式实际上会导致更大的内存使用量。例如,将
CHAR(4)
列从基于内存的格式转换为基于磁盘的格式会将每行使用的DataMemory
量从 4 个字节增加到 8 个字节。
重要
使用 --initial
选项启动集群 不会 删除磁盘数据文件。您必须在执行集群的初始重启之前手动删除这些文件。
通过最小化磁盘查找次数来提高磁盘数据表的性能,确保 DiskPageBufferMemory
的大小足够大。您可以查询 diskpagebuffer
表以帮助确定是否需要增加此参数的值。