myisam key compress

具体见:

http://www.mysqlperformanceblog.com/2006/05/13/to-pack-or-not-to-pack-myisam-key-compression/

 

(1)key compress应用在块范围

(2)块中的第一个索引值被完全的存储,第二个索引值包括和前一个索引相同的值+和前一个索引不同的值

(3)例如:块中的第一个索引为aaaaaa,第二个索引为aaaaab;则key compress算法会记录为:aaaaaa和<5>b

(4)前向索引扫描是很快的(read_next),因为在读下一个值时,前一个值已知,不需要另行解压前一个值

(5)反向索引扫描是慢的(read_prev),因为在反向读下一个值时,必须先解压前一个值;而解压前一个值,必须解压这个块

(6)随机单行扫描是慢的,因为需要解压此行所在的块才能得到这个key值

(7)页更大意味着更慢的索引扫描;

(8)PACK_KEYS=0|1|DEFAULT

0--关闭对所有的key进行compress;1--强制对所有的key进行compress;DEFAULT--仅压缩字符列的key,数字和其他类型不进行compress

(9)myisam默认将压缩字符key,而不压缩integer key,所以使用字符key进行join比integer key更慢,这是因为需要解压缩的缘故

(10)总结:

a) key prefix compress节省了空间

b) 避免使用字符key进行join

c) 在字符key上的反向索引扫描是更慢的

d) PACK_KEYS=1减慢了你使用integer key进行join

e) PACK_KEYS=0可以增加你的索引大小达到10倍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值