16.2.3.3 压缩表特征

压缩存储格式是使用myisampack工具 生成的只读格式。压缩表可以用 myisamchk解压缩。

压缩表具有以下特点:

  • 压缩表只占用很少的磁盘空间。这最大限度地减少了磁盘使用,这在使用慢速磁盘(如 CD-ROM)时很有用。

  • 每行都单独压缩,因此访问开销非常小。根据表中最大的行,行的标题占用一到三个字节。每列的压缩方式不同。每列通常有不同的哈夫曼树。一些压缩类型是:

    • 后缀空间压缩。

    • 前缀空间压缩。

    • 值为零的数字使用一位存储。

    • 如果整数列中的值范围较小,则使用尽可能小的类型存储该列。例如,如果一列(八个字节)的所有值都在从 到的范围内,则它BIGINT可以存储为一 列(一个字节) 。 TINYINT-128127

    • 如果列只有一小组可能的值,则数据类型将转换为 ENUM.

    • 列可以使用上述压缩类型的任意组合。

  • 可用于固定长度或动态长度的行。

笔记

虽然压缩表是只读的,因此您不能更新或添加表中的行,但 DDL(数据定义语言)操作仍然有效。例如,您可能仍然使用DROP删除表和TRUNCATE TABLE清空表。