使用运行长度编码

当您运行 Database Designer 时,您可以选择对加载进行优化,以最大限度地减少数据库占用空间。在这种情况下,Database Designer 会对列应用编码,以最大限度地提供查询的性能。编码选项包括运行长度编码 (RLE),此编码将列中唯一值的序列(运行长度)替换为一组值对,其中每个值对表示给定值连续出现的次数:(出现次数, )。

RLE 一般适用于低基数列,并且其中的唯一值通常是连续的,因为在此列中对表数据进行了排序。例如,客户个人资料表通常包含性别列,而此列仅包含 F 值和 M 值。对性别进行排序可确保 F 值或 M 值的运行长度可以表示为一组两个值对:(出现次数, F)和(出现次数, M)。因此,假设 F 出现 8,147 次,M 出现 7,956 次,而投影主要根据性别排序,Vertica 可以应用 RLE,将这些值存储为一组两个值对:(8147, F) 和 (7956, M)。这样可以减少投影占用空间,提高查询性能。