#### 23.6.10.2 NDB Cluster 磁盘数据存储要求

[](<>)以下项目适用于磁盘数据存储要求：

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

    有关计算这些值的一般信息，请参阅[第 11.7 节，“数据类型存储要求”](storage-requirements.html).

    您可以通过查询[`INFORMATION_SCHEMA.FILES`](information-schema-files-table.html)桌子。有关更多信息和示例，请参阅[第 26.3.15 节，“信息\_架构文件表”](information-schema-files-table.html).

    笔记

    这[`优化表`](optimize-table.html)语句对磁盘数据表没有任何影响。

-   在磁盘数据表中，前 256 个字节[`文本`](blob.html)要么[`斑点`](blob.html)列存储在内存中；只有其余部分存储在磁盘上。

-   磁盘数据表中的每一行使用内存中的 8 个字节来指向存储在磁盘上的数据。这意味着，在某些情况下，将内存中的列转换为基于磁盘的格式实际上会导致更大的内存使用量。例如，转换一个`字符(4)`列从基于内存到基于磁盘的格式增加了[`数据存储器`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory)每行使用 4 到 8 个字节。

重要的

启动集群`- 最初的`选项确实*不是*删除磁盘数据文件。在执行集群的初始重新启动之前，您必须手动删除这些。

磁盘数据表的性能可以通过最小化磁盘寻道次数来提高，方法是确保[`磁盘页面缓冲区内存`](mysql-cluster-ndbd-definition.html#ndbparam-ndbd-diskpagebuffermemory)有足够的大小。您可以查询[`磁盘页面缓冲区`](mysql-cluster-ndbinfo-diskpagebuffer.html)表来帮助确定是否需要增加此参数的值。
