Antelope是innodb-base的文件格式,Barracude是innodb-plugin后引入的文件格式,同时Barracude也支持Antelope文件格式。两者区别在于:

文件格式

支持行格式

特性

Antelope

(Innodb-base)

ROW_FORMAT=COMPACT

ROW_FORMAT=REDUNDANT

Compact和redumdant的区别在就是在于首部的存存内容区别。

compact的存储格式为首部为一个非NULL的变长字段长度列表

redundant的存储格式为首部是一个字段长度偏移列表(每个字段占用的字节长度及其相应的位移)。

在Antelope中对于变长字段,低于768字节的,不会进行overflow page存储,某些情况下会减少结果集IO.

Barracuda

(innodb-plugin)

ROW_FORMAT=DYNAMIC

ROW_FORMAT=COMPRESSED

这两者主要是功能上的区别功能上的。 另外在行里的变长字段和Antelope的区别是只存20个字节,其它的overflow page存储。

另外这两都需要开启innodb_file_per_table=1

(这个特性对一些优化还是很有用的)

备注:

这里有一点需要注意,如果要使用压缩,一定需要先使用innodb_file_format =Barracuda格式,不然没作用。

下面我们看一下区别:

代码如下:

(testing)root@localhost [(none)]> use wubx;

Database changed

(testing)root@localhost [wubx]> CREATE TABLE t1

-> (c1 INT PRIMARY KEY)

-> ROW_FORMAT=COMPRESSED

-> KEY_BLOCK_SIZE=8;

Query OK, 0 rows affected, 4 warnings (0.01 sec)

报出来4个warnings查看一下报错:

代码如下:

(testing)root@localhost [wubx]> show warnings;

+———+——+———————————————————————–+

| Level | Code | Message |

+———+——+———————————————————————–+

| Warning | 1478 | InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope. |

| Warning | 1478 | InnoDB: ignoring KEY_BLOCK_SIZE=8. |

| Warning | 1478 | InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_format > Antelope. |

| Warning | 1478 | InnoDB: assuming ROW_FORMAT=COMPACT. |

+———+——+———————————————————————–+

4 rows in set (0.00 sec)

从以上报错可以看出来不支持压缩。但看一下表结构如下:

代码如下:

(testing)root@localhost [wubx]> show create table t1;

+——-+———————————————————————————————————————————————–+

| Table | Create Table |

+——-+———————————————————————————————————————————————–+

| t1 | CREATE TABLE t1 (

c1 int(11) NOT NULL,

PRIMARY KEY (c1)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8 |

+——-+———————————————————————————————————————————————–+

1 row in set (0.00 sec)

这个是比较坑的地方,所以在使用压缩需要注意。

代码如下:

(testing)root@localhost [wubx]>create table t2 ( c1 int(11) NOT NULL, primary key(c1));

(testing)root@localhost [wubx]> insert into t2 select * from t1;

Query OK, 5417760 rows affected (37.12 sec)

Records: 5417760 Duplicates: 0 Warnings: 0

创建支持压缩的表:

代码如下:

(testing)root@localhost [wubx]>SET GLOBAL  innodb_file_per_table=1

(testing)root@localhost [wubx]>SET GLOBAL innodb_file_format=Barracuda;

(testing)root@localhost [wubx]>CREATE TABLE t3

(c1 INT PRIMARY KEY)

ROW_FORMAT=COMPRESSED

KEY_BLOCK_SIZE=8;

(testing)root@localhost [wubx]> insert into t3 select * from t1;

Query OK, 5417760 rows affected (1 min 10.98 sec)

Records: 5417760 Duplicates: 0 Warnings: 0

看一下表的物理大小如下:

代码如下:

-rw-rw—- 1 mysql mysql 8.4K Jul 5 16:58 t1.frm

-rw-rw—- 1 mysql mysql 136M Jul 5 19:40 t1.ibd

-rw-rw—- 1 mysql mysql 8.4K Jul 5 19:43 t2.frm

-rw-rw—- 1 mysql mysql 136M Jul 5 19:44 t2.ibd

-rw-rw—- 1 mysql mysql 8.4K Jul 5 19:46 t3.frm

-rw-rw—- 1 mysql mysql 96M Jul 5 19:47 t3.ibd

可见t1, t2都没进行压缩, t3是支持压缩的。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

barracuda mysql,MySQL Antelope和Barracuda的区别分析_MySQL相关推荐

  1. mysql中char与varchar的区别分析

    原文网址:http://www.jb51.net/article/23575.htm mysql中char与varchar的区别分析 作者: 字体:[增加 减小] 类型:转载 在mysql教程中cha ...

  2. mysql barracuda_MySQL Antelope和Barracuda的区别分析

    Antelope是innodb-base的文件格式,Barracude是innodb-plugin后引入的文件格式,同时Barracude也支持Antelope文件格式.两者区别在于: 文件格式 支持 ...

  3. barracuda mysql_MySQLAntelope和Barracuda的区别分析_MySQL

    Antelope是innodb-base的文件格式,Barracude是innodb-plugin后引入的文件格式,同时Barracude也支持Antelope文件格式.两者区别在于: 文件格式 支持 ...

  4. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

  5. mysql中lead_SqlServer2012中LEAD函数简单分析_MySQL

    LEAD函数简单点说,就是把下一行的某列数据提取到当前行来显示,看示例更能解释清楚,先看测试用脚本 DECLARE @TestData TABLE( ID INT IDENTITY(1,1), Dep ...

  6. mysql''和null,mysql中NULL和null的区别

    接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据 ...

  7. mysql数据库varchar的区别_MySQL数据库char与varchar的区别分析及使用建议

    在数据库中,字符 型的数据是最多的,可以占到整个数据库的80%以上.为此正确处理字符型的数据,对于提高数据库的性能有很大的作用.在字符型数据中,用的最多的就是 Char与Varchar两种类型.前面的 ...

  8. MySQL Antelope和Barracuda的区别分析

    (转载)Antelope是innodb-base的文件格式,Barracude是innodb-plugin后引入的文件格式,同时Barracude也支持Antelope文件格式.两者区别在于: 文件格 ...

  9. mysql 5.5 barracuda_MySQL Antelope和Barracuda的区别分析

    Antelope是innodb-base的文件格式,Barracude是innodb-plugin后引入的文件格式,同时Barracude也支持Antelope文件格式.两者区别在于: 文件格式 支持 ...

最新文章

  1. correlation 蒙特卡洛_蒙特卡洛模拟法及其Matlab案例
  2. IdentityHashMap
  3. 关于keil环境的 三个红点(备忘)
  4. 程序员面试金典 - 面试题 04.03. 特定深度节点链表(BFS)
  5. mysql多表联查到新的表中_MySQL中的多表联查
  6. Android安全笔记-Activity基本概念
  7. 《从Paxos到Zookeeper:分布式一致性原理与实践》第一章读书笔记
  8. Linux内核深入理解定时器和时间管理(3):tick 广播 框架 和 dyntick
  9. 用python怎样用程序输出文字_如何用Python输出PPT中的文字信息
  10. 30. 连续子数组最大和
  11. 利用predis操作redis方法大全
  12. 计算机职称专业分类明细,职称分类一览表
  13. 浪潮服务器【磁盘阵列】故障修复
  14. u-boot编译构成之 MLO(1)
  15. 在数据库中存储IP地址
  16. 从键盘输入一个不多于3位的正整数,要求:求出它是几位数;分别打印出每一位数字;按逆序打印出各位数字
  17. Linux下 ifconfig 命令的使用(Linux命令)
  18. python二元函数如何编写,Nelder_Mead算法的简介和用作求解二维函数最小值的Python实现...
  19. epoll LT ET 区别 | Nginx epoll 原理 listend 用 LT
  20. 火车运输[NOIP 2013 提高组 Day 1]

热门文章

  1. 关于MYSQL增量备份
  2. c语言mc10,平时是下载的MC51,c语言相关资料
  3. 对话系统-“问答型”单轮对话:FAQ检索式对话系统【步骤:①用户意图判断、②文本检索召回、③文本匹配计算排序】【搜索引擎的最终形态】
  4. centos7 快速配置手册4
  5. 04 在地图上添加主页、定位、鹰眼图和比例尺控件
  6. 代码随想录训练营day33
  7. Facebook数据泄露事件解读
  8. 亿信华辰:一文详解医疗机构数据治理六大核心环节|推荐收藏
  9. 蔡自兴:人工智能研究的若干进展
  10. ppt计算机考试总结,计算机二级PPT考点与做题技巧汇总