MySQL 9.3 Reference Manual Including MySQL NDB Cluster 9.3
The following items apply to Disk Data storage requirements:
Variable-length columns of Disk Data tables take up a fixed amount of space. For each row, this is equal to the space required to store the largest possible value for that column.
For general information about calculating these values, see Section 13.7, “Data Type Storage Requirements”.
You can obtain an estimate the amount of space available in
data files and undo log files by querying the Information
Schema FILES
table. For more
information and examples, see
Section 28.3.15, “The INFORMATION_SCHEMA FILES Table”.
The OPTIMIZE TABLE
statement does not have any effect on Disk Data tables.
In a Disk Data table, the first 256 bytes of a
TEXT
or
BLOB
column are stored in
memory; only the remainder is stored on disk.
Each row in a Disk Data table uses 8 bytes in memory to
point to the data stored on disk. This means that, in some
cases, converting an in-memory column to the disk-based
format can actually result in greater memory usage. For
example, converting a CHAR(4)
column from
memory-based to disk-based format increases the amount of
DataMemory
used per
row from 4 to 8 bytes.
Starting the cluster with the --initial
option does not remove Disk Data files.
You must remove these manually prior to performing an initial
restart of the cluster.
Performance of Disk Data tables can be improved by minimizing
the number of disk seeks by making sure that
DiskPageBufferMemory
is
of sufficient size. You can query the
diskpagebuffer
table to help
determine whether the value for this parameter needs to be
increased.