排除长字符串
最占空间的属性通常是字符串。 要缩短行,可以将长字符串从实体表中除去。
可以使用以下方法将长字符串排除出去:
使用 VARCHAR 列。
使用 TEXT 数据。
将字符串移到伴随表。
建立符号表。
将 CHAR 列转换为 VARCHAR 列以缩短行 (GLS)
数据库可能包含 CHAR 列,您可以将这些列转换为 VARCHAR 列。CHAR 列中的文本字符串平均长度比列宽至少短 2 个字节时,您可以使用 VARCHAR 列来缩短行的平均长度。
将长字符串转换为 TEXT 数据类型列
如果某个字符串填充了一半或一半以上磁盘页,那么您应考虑将其转换为单独 Blob 空间中的 TEXT 数据类型列。
将字符串移到伴随表
如果将不足半页的字符串当作 TEXT 数据进行处理,那么这些字符串将浪费磁盘空间,但是您可以将它们从主表移至副表。
构建符号表
如果列所包含的字符串在每行中不唯一,那么可以将这些字符串移到只存储唯一副本的表中。
父主题:
对数据模型进行反向规范化以提高性能