MySQL 8.3 Release Notes
-
磁盘数据表中的可变长度列占用固定的空间。对于每行,这等于存储该列最大可能值所需的空间。
有关计算这些值的常规信息,请参阅 第 13.7 节,“数据类型存储要求”。
您可以通过查询信息模式
FILES
表来估算数据文件和撤销日志文件中的可用空间。有关更多信息和示例,请参阅 第 28.3.15 节,“信息模式 FILES 表”。NoteOPTIMIZE TABLE
语句对磁盘数据表没有任何影响。 -
磁盘数据表中的每行使用 8 字节的内存来指向磁盘上的数据。这意味着,在某些情况下,将内存中的列转换为基于磁盘的格式实际上可能会导致更多的内存使用。例如,将
CHAR(4)
列从基于内存的格式转换为基于磁盘的格式会将每行使用的DataMemory
从 4 字节增加到 8 字节。
Important
使用 --initial
选项启动集群不会删除磁盘数据文件。您必须在执行集群的初始重新启动之前手动删除这些文件。
可以通过尽量减少磁盘寻道次数来提高磁盘数据表的性能,方法是确保 DiskPageBufferMemory
足够大。您可以查询 diskpagebuffer
表以确定是否需要增加该参数的值。