资源由 www.eimhe.com 美河学习在线收集分享
Mysql 合并表 Merge 引擎
1.Merge(MRG_MyISAM)存储引擎类型允许你把许多结构相同的表合并为一个表。当从合并表中执行查询,从多个表返回的结果就像从一个
表返回的结果一样。
2.要创建合并表的前提是每一个合并的表必须有同样的表定义(表结构、索引),并且子表的存储引擎必须是 Myisam。
3.合并表的创建方法
create table t_1 (id int(4) not null, name varchar(20) not null,primary key(id))engine=myisam default charset=utf8;
create table t_2 (id int(4) not null, name varchar(20) not null,primary key(id))engine=myisam default charset=utf8;
create table merge_t (id int(4) not null, name varchar(20) not null,primary key(id))ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8
INSERT_METHOD=LAST UNION=(t_1,t_2);
4.合并表注意事项:
1)此表结构必须与基本表完全一致,包括列名、顺序。UNION 表必须同属一个数据库。
2)子表的存储引擎必须是 Myisam 类型。
3)合并表创建后会创建 2 个文件:.frm 表结构定义 .mrg union 表的名字清单 。
4) 对子表的操作会直接显示在合并表中。
5) 合并表中 INSERT_METHOD 的取值可以是:
0 (不允许插入) ;
FIRST(插入到 UNION 中的第一个表 );
LAST (插入到 UNION 中的最后一个表)(4.0 之后可用) 。
6) 合并表中的 auto_increment 不会起作用。
7) 合并表的创建与删除操作所用的开销很小,对子表进行表结构、索引添加删除操作时,删除掉合并表,等子表操作完后再重更新创建
合并表。
一、利用 merge 存储引擎来实现分表
1、创建分表,和主表的表结构相同,这里创建 3 个表
[sql] view plaincopyprint?
评论0