mysql merge分表操作
三个分表:
CREATE TABLE `test_1` (
id INT(11) NOT NULL DEFAULT '0',
email varchar(50) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=UTF8;
CREATE TABLE `test_2` (
id INT(11) NOT NULL DEFAULT '0',
email varchar(50) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=UTF8;
CREATE TABLE `test_3` (
id INT(11) NOT NULL DEFAULT '0',
email varchar(50) NOT NULL ,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=UTF8;
一个总表:
CREATE TABLE `test` (
`id` INT(11) NOT NULL DEFAULT '0'
email varchar(50) NOT NULL
key `i_id` (`id`),
) ENGINE=MRG_MyISAM UNION=(test_1,test_2,test_3) DEFAULT CHARSET=UTF8;
在总表test上面select *的话,会取出三个分表中的数据。
在插入数据的时候根据对象的hash code 取模运算,如果余数为 3 那么就插入 test_3 这个表中。
bitsCN.comCopyright © 2019- vipyiyao.com 版权所有 湘ICP备2023022495号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务