mysql怎么做merge分表

mysql怎么做merge分表,第1张

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 这个表中。

因为merge表与他人不一样需要正确的代码形式。

例如,ENGINE=MRG_MyISAM和别人的不一样,别人都是ENGINE=MyISAM,修改后即可以添加数据了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6117773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存