Innodb 表的压缩方式
发布时间:2020-08-09 16:49:58
来源:ITPUB博客
阅读:78
作者:steven_hua
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
本文介绍了MySQL中InnoDB表的压缩设置方法,包括版本要求、配置选项及表创建或修改时的具体语法。针对5.7及以上版本,通过设置innodb_file_format为Barracuda并启用行压缩格式来实现。
1658

被折叠的 条评论
为什么被折叠?



