mysql merge分表操作 三個分表: www.2cto.com 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; 一個總表: www.2cto.com 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 這個表中。