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储存引擎表的占用已经没有变化,我的天呐,归档类储存引擎这么夸张。
where与having非常类似.都能筛选数据.表达式完全一致. 但是职责的确不同.where负责对表中的字段进行筛选,having负责对where筛选后的结果集再次筛选。这也就是where不能使用别名字段来筛选的原因,因为数据中没有这个字段。&n...
例如我们需要查询商品表中每个分类中商品id最大的记录,并且显示商品价格以下是表结构:id catename title &nb...
有很多集成环境安装完成之后是没有快捷方式的,例如西部数码的网站管理助手4.0,、 更或者是护卫神PHP套件都是一样的。安装完成最多给你安装一个PhPmyadmin让你管理Mysql,但是对于经常使用命令行的我们来说是非常不方面的,而且还必须安装PhPmyadmin来管理。下面就让我们自己手...
触发器是一种特殊的事务,可以监听到Mysql的(insert/update/delete)的操作并触发相应的(insert/update/delete)操作. 触发器的创建主要有4个要素:(1).监听地点(...
(1).首先我们需要了解limit分页的工作流程demo: SELECT * FROM table LIMIT 10000,5 通常我们会认为以上SQL会从10000条后面取5条,正确的是取出10005条,然后再抛弃前...
1.查看歌曲表结构(主要是给name字段添加全文索引)(mysql5.7才支持全中文索引)desc music; +---------+-------------+------+-----+---------+----------------+ | Fie...