21.5.10.3 NDB 群集磁盘数据存储要求

以下各项适用于磁盘数据存储要求:

  • 磁盘数据 table 的可变长度列占用固定数量的空间。对于每一行,这等于存储该列的最大可能值所需的空间。

有关计算这些值的一般信息,请参见第 11.7 节“数据类型存储要求”

您可以通过查询INFORMATION_SCHEMA.FILEStable 来估计数据文件和撤消日志文件中可用的空间量。有关更多信息和示例,请参见第 24.9 节“ INFORMATION_SCHEMA FILEStable”

Note

OPTIMIZE TABLE语句对磁盘数据 table 没有任何影响。

  • 在“磁盘数据”table 中,TEXTBLOB列的前 256 个字节存储在内存中。只有其余的存储在磁盘上。

  • 磁盘数据 table 中的每一行使用 8 个字节的内存来指向存储在磁盘上的数据。这意味着在某些情况下,将内存中的列转换为基于磁盘的格式实际上会导致更多的内存使用。例如,将CHAR(4)列从基于内存的格式转换为基于磁盘的格式会使每行使用的DataMemory的数量从 4 个字节增加到 8 个字节。

Important

使用--initial选项启动群集不会*删除磁盘数据文件。在执行集群的初始重新启动之前,必须手动删除这些文件。

磁盘数据 table 的性能可以通过确保DiskPageBufferMemory足够大来最大程度地减少磁盘搜索次数来提高。您可以查询diskpagebuffertable 以帮助确定是否需要增加此参数的值。