mysql merge引擎分表


---------------------创建表一--------------------------------------
DROP TABLE a1;
CREATE TABLE `a1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

------------------创建表2-----------------------------------
DROP TABLE a2;
CREATE TABLE `a2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-----------------创建表3-------------------------------------
DROP TABLE a3;
CREATE TABLE `a3` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
SELECT * FROM a;


------------------------创建总的关联表----------------------------------------
MERGE存储引擎:是一组MyISAM表的组合,这些MyISAM表必须结构完全相同。MERGE表本身没有数据,类似于一个视图.对MERGE类型的表进行查询、更新、删除的操作,就是对内部的MyISAM表进行的。似乎看到分区表的影子,但完全是两种不同的东西.
CREATE TABLE `a` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MERGE UNION=(a1,a2,a3)INSERT_METHOD=LAST AUTO_INCREMENT=1;

查询a表能查询a1、a2、a3所有的数据

原文地址:https://www.cnblogs.com/coderdxj/p/9714245.html