>  기사  >  데이터 베이스  >  mysql merge分表操作_MySQL

mysql merge分表操作_MySQL

WBOY
WBOY원래의
2016-06-01 13:36:301137검색

bitsCN.com

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.com
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.