相关文档 下载本手册

18.2.3.3 压缩表特性

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

压缩表具有以下特性

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

  • 每行都单独压缩,因此访问开销非常小。行头占用 1 到 3 个字节,具体取决于表中最大的行。每列的压缩方式不同。通常每列都有不同的霍夫曼树。一些压缩类型包括:

    • 后缀空间压缩。

    • 前缀空间压缩。

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

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

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

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

  • 可用于固定长度或可变长度行。

注意

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