(1)MERGE表是一个虚表。由一组结构相同的MyISAM表组成。
(2)对MERGE表的插入时,则可以指定三种插入方式:first (插在第一张MyISAM表),last(插在最后一张MyISAM表),NO或者不定义,则拒绝执行该插入操作。
(3)对MERGE表的删除操作,只删除MERGE的表定义,并不实际上删除MyISAM表的数据。
(4)一张MERGE表在磁盘上对应两个文件:表定义文件 .frm ; 组合表的信息文件 .MRG。
(5)我们可以修改.MRG文件,对MERGE表包含的MyISAM表进行增加或者删除。注意改完后,用FLUSH TABLES
(6)merge表的功能类似于分区表,将多个子表进行合并。但区别在于分区表可以智能将记录记入对应的表中,而merge只能遵循表定义的记录插入方式。
实例:
表 payment-2006;
表 payment_2007;
merge表 payment_all
create table payment_all(
country_id smallint,
payment_date datetime,
amount decimal(15,2),
index(country_id)
)engine=merge union=(payment_2006,payment_2007) insert_method=last;