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