mysql的archive储存引擎

成人自考/成人高考/教师资格证/会计从业资格证/建造师/造价师,一个小程序就够啦。

archive储存引擎的应用场景就是它的名字的缩影,主要用于归档。archive储存引擎仅支持select和insert,最出众的是插入快,查询快,占用空间小。例如我们有大量的历史数据极少访问又不能删除,需要保存,那么它是非常不错的选择。archive最出名的就是压缩,它的引擎使用zlib无损数据压缩算法,压缩率非常好,这里测试下效果。

(1).首先创建一个myisam的表member,字段id和name,我们插入4990168条记录(自己循环下)

INSERT INTO member(id, name) VALUES (1, 'zhang')

(2).此时来查看member表在myisam引擎下的占用磁盘大小:

show TABLE STATUS LIKE 'member';

输出结果:

Data_length:99803360

占用大小:99803360约等于95M磁盘大小

(3).创建archive引擎表member1,并将上面的myisam表数据导入

CREATE TABLE  member1  ENGINE = archive  as SELECT *  from member

(4).查看member1的archive引擎占用磁盘大小:

show TABLE STATUS LIKE 'member1';

输出结果:

Data_length:154003

占用大小:99803360约等于150KB磁盘大小

同样是4990168条记录,磁盘占用大小可怕吗?节省了648倍,此时本人已经不相信上面的操作,这占比太夸张,会不会是引用myisam表的数据了吧?直接干掉myisam表的数据。

DELETE  FROM  member;
SELECT  count(*) FROM  member;

上面清空了myisam的表的数据,检查了表没有数据,再重启去看看archive储存引擎表的占用已经没有变化,我的天呐,归档类储存引擎这么夸张。

访客
邮箱
网址

Top