Antelope 和Barracuda区别

Posted Jandison

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Antelope 和Barracuda区别相关的知识,希望对你有一定的参考价值。


Antelope和Barracuda均为innodb存储引擎的文件格式,Antelope为默认格式,非压缩;Barracuda为压缩格式;两者主要的不同在于对大数据量的存储时所占用的空间差异。
若要使用innodb的压缩功能,则必须使用innodb_file_format=Barracuda,不然没有作用。
接下来以一组实验来验证这两种不同存储格式带来的空间消耗差异。

Antelope
create table t_antelope(id int primary key auto_increment not null,descirption varchar(20)) engine=innodb;

delimiter $$
create procedure proc_antelope()
begin
declare i int;
set i = 1;
while i <= 1000000 do
insert into t_antelope values(i,‘this is a test‘);
set i = i + 1;
end while;
end $$


Barracuda
create table t_barracuda(id int primary key auto_increment not null,descirption varchar(20)) engine=innodb row_format=compressed;

delimiter $$
create procedure proc_barracuda()
begin
declare i int;
set i = 1;
while i <= 1000000 do
insert into t_barracuda values(i,‘this is a test‘);
set i = i + 1;
end while;
end $$

begin;call proc_antelope();commit;
begin;call proc_barracuda();commit;
实验结果:
antelope格式的数据文件大小为49M,数据插入时间18.42S,commit时间0.36S
barracuda格式的数据文件大小为23M,数据插入时间55.9S,commit时间4.63S

可见Barracuda格式可以节省很多空间,但数据插入处理过程的耗时也非常高

以上是关于Antelope 和Barracuda区别的主要内容,如果未能解决你的问题,请参考以下文章

优化系列 | InnoDB引擎数据表压缩特性测试

Antelope与 Barracude MYSQL 文件格式

南迁移错误,InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_format > Antelope

Centos和Redhat的区别和联系

汇编movsx和movzx的区别

map和mutilmap的区别