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