mysql 分表 --- merge

粗略方式 之 merge 分表法

-- 分表设计 DROP table IF EXISTS tb_schtest1; create table tb_schtest1( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest2; create table tb_schtest2( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest3; create table tb_schtest3( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest4; create table tb_schtest4( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest5; create table tb_schtest5( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest10; create table tb_schtest10( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest6; create table tb_schtest6( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest7; create table tb_schtest7( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest8; create table tb_schtest8( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; DROP table IF EXISTS tb_schtest9; create table tb_schtest9( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- merge 总表 DROP table IF EXISTS tb_schtest; create table tb_schtest( id bigint primary key auto_increment , `name` varchar(20), sex tinyint not null default '0' )ENGINE=MERGE UNION=(tb_schtest1,tb_schtest2,tb_schtest3,tb_schtest4,tb_schtest5,tb_schtest6,tb_schtest7,tb_schtest8,tb_schtest9,tb_schtest10) INSERT_METHOD=LAST CHARSET=utf8 AUTO_INCREMENT=1 ; -- 数据处理 insert into tb_schtest1(id,`name`,sex) select id,`name`,sex from schtest where id%10=0; insert into tb_schtest2(id,`name`,sex) select id,`name`,sex from schtest where id%10=1; insert into tb_schtest3(id,`name`,sex) select id,`name`,sex from schtest where id%10=2; insert into tb_schtest4(id,`name`,sex) select id,`name`,sex from schtest where id%10=3; insert into tb_schtest5(id,`name`,sex) select id,`name`,sex from schtest where id%10=4; insert into tb_schtest6(id,`name`,sex) select id,`name`,sex from schtest where id%10=5; insert into tb_schtest7(id,`name`,sex) select id,`name`,sex from schtest where id%10=6; insert into tb_schtest8(id,`name`,sex) select id,`name`,sex from schtest where id%10=7; insert into tb_schtest9(id,`name`,sex) select id,`name`,sex from schtest where id%10=8; insert into tb_schtest10(id,`name`,sex) select id,`name`,sex from schtest where id%10=9;

  

posted @ 2017-03-24 16:24  斌灬小生不才  阅读(187)  评论(0编辑  收藏  举报