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储存引擎表的占用已经没有变化,我的天呐,归档类储存引擎这么夸张。
一般情况下,绝大部分,我们的主键是数字,1 2 3 4...所以我们才让它递增.这并不意味着,他们两个必须要绑定在一起使用.例如我还想将用户表的email字段设置为主键,但是并没有必要为其设置自增。 因此可...
1.查看所有表,包括视图表,show tables;2.查看表结果,包括视图表,desc 表名3.查看建表过程,show create table 表名;4.查看建视图过程,show create view...
1.floor(x)返回小于x的整数,向下取整,用法,商品的价格是浮点型的,需要向下取整 eg:select id,title,floor(price) from shopgoods2.rand()返回0-1之间的随机数 select rand() select rand()...
触发器是一种特殊的事务,可以监听到Mysql的(insert/update/delete)的操作并触发相应的(insert/update/delete)操作. 触发器的创建主要有4个要素:(1).监听地点(...
概述: 目前我们的表设计,最高级别的范式是6NF,对于PHP程序员而言,我们的表满足3NF即可(范式即规范)【一】1NF (1).所谓1NF,就是指标的属性具有原子性,即表的列不能再分割,不能分割意思是字段本身的含义(例如address字段不能再分割)...
(1).查询某个字段是否包含某个字符串,可以直接使用likeSELECT oid,oname from zhongxing_options where oname li...