15.2.3.3 压缩 tableFeature

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

压缩 table 具有以下 Feature:

  • 压缩 table 只占用很少的磁盘空间。这样可以最大程度地减少磁盘使用情况,这在使用慢速磁盘(例如 CD-ROM)时很有用。

  • 每行分别进行压缩,因此访问开销很小。根据 table 中最大的行,行的标题占用一到三个字节。每列的压缩方式不同。每列通常有不同的霍夫曼树。一些压缩类型是:

  • 后缀空间压缩。

    • 前缀空间压缩。

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

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

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

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

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

Note

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