Mysql数据库:Antelope 与Barracuda的区别
发布日期:2016-4-20 22:4:54
Mysql数据库:Antelope 与Barracuda的区别 Antelope是innodb-base的文件格式, Barracude是innodb-plugin后引入的文件格式,同时Barracude也支持Antelope文件格式。两者区别在于: 备注: 这里有一点需要注意,如果要使用压缩,一定需要先使用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是支持压缩的。 下一条: NoSQL与SQL 的区别
|