已压缩存储格式是由myisampack工具创建的只读格式。 所有MySQL分发版里都默认包括myisampack。已压缩表可以用myisamchk来解压缩。 已压缩表有下列特征: · 已压缩表占据非常小的磁盘空间。这最小化了磁盘用量,当使用缓慢的磁盘(如CD-ROM)之时,这是很有用的。 · 每个记录是被单独压缩的,所以只有非常小的访问开支。依据表中最大的记录,一个记录的头在每个表中占据1到3个字节。每个列被不同地压缩。通常每个列有一个不同的Huffman树。一些压缩类型如下: o 后缀空间压缩。 - 前缀空间压缩。 - 零值的数用一个位来存储。 - 如果在一个整型列中的值有一个小的范围,列被用最小可能的类型来存储。比如,一个BIGINT列(8字节),如果所有它的值在-128到127范围内,它可以被存储为TINYINT列(1字节) - 如果一个列仅有一小组可能的值,列的类型被转化成ENUM。 - 一个列可以使用先前压缩类型的任意合并。 · 可以处理固定长度或动态长度记录。 |