|
Merge引擎的简单测试
SQlyog工具:
CREATE TABLE eugene1 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, username CHAR(20))engine=myisam;
CREATE TABLE eugene2 ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, username CHAR(20))engine=myisam;
INSERT INTO eugene1 (username) VALUES ('Testing merge1'),('eugene1');
INSERT INTO eugene2 (username) VALUES ('Testing merge2'),('eugene2');
CREATE TABLE total (id INT NOT NULL AUTO_INCREMENT, username CHAR(20), INDEX(id))TYPE=MERGE UNION=(eugene1,eugene2) INSERT_METHOD=LAST;
select * from total ;
1 Testing merge1
2 eugene1
1 Testing merge2
2 eugene2
update total set username=' merge1.2' where id=1;
select * from total ;
1 merge1.2
2 eugene1
1 merge1.2
2 eugene2
所以merge引擎的表是可以直接更新的
insert into total(username) values('username')
select * from total ;
1 merge1.2
2 eugene1
1 merge1.2
2 eugene2
3 username
select * from eugene1;
1 merge1.2
2 eugene1
select * from eugene2;
1 merge1.2
2 eugene2
3 username
因为定义total表的时候使用了:
INSERT_METHOD=LAST;
使用分表统计的时候,注意 auto_increment类型的字段,否则就出现上面出现的eugene1与eugene2中id字段值相同,
所以考虑使用到这个类型字段的时候,要注意考虑有多少个分表,然后规定每个分表的auto_increment取值不同就 可以..
若有 A与B分表,就可以规定A为负数,.减增长的方式从-1开始,B从1开始增长....根据有多少个表指定不同规则就可以实现的... |
|