欢迎光临
我们一直在努力

Innodb 表的压缩方式

innodb 目前支持两种文件格式(innodb_file_format) Antelope 和Barracuda

5.6 默认的是 Antelope  (羚羊) ,有两种“数据表格式”(row_format):Redundant(冗余)、Compact(紧凑)

5.7 默认的是 Barracuda (梭子鱼) 原来的基础上新增了两种数据表格式的支持:Dynamic 和 Compressed

一、 如何设置mysql innodb 表的压缩

设置innodb 表的 压缩

第一,mysql的版本需要大于5.5

第二,设置innodb_file_format=barracuda

innodb_file_format=barracuda

innodb_file_per_table = 1

innodb_strict_mode=1 #建议加上

innodb_default_row_format = COMPRESSED #在整个库默认启用行压缩格式时设定,一边不改变此值

第三,create table或者alter talble 增加 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;

鉴于InnoDB表的最大行大小约为8K,KEY_BLOCK_SIZE=8通常是一个安全的选择

在缓冲池中,压缩数据保存在小页面中,页面大小基于该KEY_BLOCK_SIZE 值

KEY_BLOCK_SIZE默认为innodb_page_size值的一半,也就是8k

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。