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储存引擎表的占用已经没有变化,我的天呐,归档类储存引擎这么夸张。
我们要明白Mysql字段的长度能存多少东西,首先需要明白Mysql是计算字节长度,还是计算字符长度。在mysql4.x的版本长度代表的是字节长度.例如在mysql4.x的版本中varchar(10)能储存的中英文长度如下:(1).采用ISO8859-1编码方式时,一个中/英文都只占一个字节;(2)....
需求查询出存在商品的商品分类. 先看看分类表:id(分类的id) catename(分类名) 1 手机 2 &n...
(1).首先我们需要了解limit分页的工作流程demo: SELECT * FROM table LIMIT 10000,5 通常我们会认为以上SQL会从10000条后面取5条,正确的是取出10005条,然后再抛弃前...
1.很多人认为count查询非常快,但是在加上筛选条件那就是未必的了!测试:user表中4000w数据(1).SELECT count(*) from user; 用时0.00s (2).SELECT...
(1).下面是一张基本的会员表membermid name age 1 高峰 24 2 王小 19 3 韩星 24(2).下面是一张基本的会员日志表loglid ...
(1).查询某个字段是否包含某个字符串,可以直接使用likeSELECT oid,oname from zhongxing_options where oname li...