MERGE 存储引擎

merge 存储引擎也被称为MGR_MyISAM 存储引擎,它实际上是将一组Myisam 表聚合在一起。使用时就像一张表
merge 存储引擎所有的表必须拥有相同的表结构以下为例子
create table v1 (id int not null auto_increment primary key,v1 varchar(20)) engine=myisam;
create table v2 (id int not null auto_increment primary key,v1 varchar(20)) engine=myisam;
create table v3 (id int not null auto_increment primary key,v1 varchar(20)) engine=myisam;
create table v4 (id int not null auto_increment primary key,v1 varchar(20),v2 varchar(20)) engine=myisam;
insert into v1 (v1) values('this'),('is'),('mysql');
insert into v2 (v1) values('this'),('is'),('mysql');
insert into v3 (v1) values('this'),('is'),('mysql');
insert into v4 (v1) values('this'),('is'),('mysql');
----基于上面三张表创建merge 存储引擎表
create table v_merge( id int not null auto_increment primary key,v1 varchar(20)) engine=merge union(v1,v2,v3);
create table t_merge(id int not null auto_increment primary key,v1 varchar(20)) engine=merge union(v1,v2,v4);
mysql> select * from v_merge;
+----+-------+
| id | v1    |
+----+-------+
|  1 | this  |
|  2 | is    |
|  3 | mysql |
|  1 | this  |
|  2 | is    |
|  3 | mysql |
|  1 | this  |
|  2 | is    |
|  3 | mysql |
+----+-------+
9 rows in set (0.00 sec)

mysql> select * from t_merge;
ERROR 1168 (HY000): Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist

每个merge引擎除了拥有存储表结构定义的.frm 文件外 还有 一个扩展名称为.mgr的文件。
。mgr 文件不保存数据而是保存数据的来源地

另外MERGE引擎表本身也不存储数据
默认情况下merger 是不允许insert ,delete ,update  的。
但是通过设置参数(insert_method)是可以完成这些操作

mysql>alter table v_merge insert_method=firse

第二步实验 delete


在merge 表中添加表
create table v5 (id int not null auto_increment primary key,v1 varchar(20)) engine=myisam;
insert into v5 (v1) values('that'),('is'),('mine');
alter table v_merge union(v1,v2,v3,v5)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26764973/viewspace-1443623/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26764973/viewspace-1443623/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值