Mysql分表例证

Mysql分表例子

Mysql分表大概有三种方法,我最推荐的是使用merge引擎

先建表:

mysql> CREATE TABLE t1 (
    ->    a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->    message CHAR(20)) ENGINE=MyISAM;
mysql> CREATE TABLE t2 (
    ->    a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->    message CHAR(20)) ENGINE=MyISAM;
mysql> INSERT INTO t1 (message) VALUES ('Testing'),('table'),('t1');
mysql> INSERT INTO t2 (message) VALUES ('Testing'),('table'),('t2');
mysql> CREATE TABLE total (
    ->    a INT NOT NULL AUTO_INCREMENT,
    ->    message CHAR(20), INDEX(a))
    ->    ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;
其中t1,t2是分表

total是t1,t2两个表所有的数据

查询的时候

select * from toal

表面上看和普通表一样,其实上这个查询进行Mysql分表查询,只是对于操作者透明而已

插入的话也是

insert into total(message)values('message');

会默认插入LAST表,也就是t2表

这种分表方法必须定期维护.....

定期新建表,痛苦

下一章我研究下Mysql集群