设为首页 加入收藏

TOP

Mycat水平分表,垂直分表实践(2)(三)
2015-11-21 01:31:33 来源: 作者: 【 】 浏览:1
Tags:Mycat 平分 垂直 实践
-+---------+-------+ | 1 | 1 | j2ee | | 2 | 2 | mysql | +----+---------+-------+ 2 rows in set (0.00 sec) mysql> delete from tag where id = 1; Query OK, 1 row affected (0.00 sec) mysql> use blog_article; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A mysql> insert into article(id,user_id,title,publish_time,create_time,update_time,category_id) \ -> values (1,1,'test1',now(),now(),now(),1),(2,1,'test2',now(),now(),now(),2),\ -> (3,1,'test3',now(),now(),now(),3),(4,2,'test4',now(),now(),now(),3); Query OK, 4 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from article; +----+---------+-------+----------+---------+---------------------+---------------------+---------------------+-------------+ | id | user_id | title | abstract | content | publish_time | create_time | update_time | category_id | +----+---------+-------+----------+---------+---------------------+---------------------+---------------------+-------------+ | 4 | 2 | test4 | NULL | NULL | 2015-03-26 03:30:55 | 2015-03-26 03:30:55 | 2015-03-26 03:30:55 | 3 | | 1 | 1 | test1 | NULL | NULL | 2015-03-26 03:30:55 | 2015-03-26 03:30:55 | 2015-03-26 03:30:55 | 1 | | 2 | 1 | test2 | NULL | NULL | 2015-03-26 03:30:55 | 2015-03-26 03:30:55 | 2015-03-26 03:30:55 | 2 | | 3 | 1 | test3 | NULL | NULL | 2015-03-26 03:30:55 | 2015-03-26 03:30:55 | 2015-03-26 03:30:55 | 3 | +----+---------+-------+----------+---------+---------------------+---------------------+---------------------+-------------+ 4 rows in set (0.00 sec) mysql> update article set title = "new title" where user_id = 1 and id =2; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0

测试sequence生成:

mysql> INSERT INTO MYCAT_SEQUENCE VALUES ('article_seq', 1, 1);
1 row in set (0.06 sec)

mysql> SELECT MYCAT_SEQ_CURRVAL('article_seq');
+----------------------------------+
| MYCAT_SEQ_CURRVAL('article_seq') |
+----------------------------------+
| 1,1                              |
+----------------------------------+
1 row in set (0.01 sec)

mysql> SELECT MYCAT_SEQ_SETVAL('article_seq', 2);
+------------------------------------+
| MYCAT_SEQ_SETVAL('article_seq', 2) |
+------------------------------------+
| 2,1                                |
+------------------------------------+
1 row in set (0.01 sec)

mysql> SELECT MYCAT_SEQ_CURRVAL('article_seq');
+----------------------------------+
| MYCAT_SEQ_CURRVAL('article_seq') |
+----------------------------------+
| 2,1                              |
+----------------------------------+
1 row in set (0.01 sec)

mysql> SELECT MYCAT_SEQ_NEXTVAL('article_seq');
+----------------------------------+
| MYCAT_SEQ_NEXTVAL('article_seq') |
+----------------------------------+
| 3,1                              |
+----------------------------------+
1 row in set (0.01 sec)

mysql> SELECT MYCAT_SEQ_NEXTVAL('article_seq');
+----------------------------------+
| MYCAT_SEQ_NEXTVAL('article_seq') |
+----------------------------------+
| 4,1                              |
+----------------------------------+
1 row in set (0.02 sec)

总结

mycat提供了数据库垂直拆分和水平拆分的方案,对于数据迁移可以按照id,user_id进行拆分。
也可以将数据分库存储,不拆分,但必须放到不同的库中(和水平拆分的分开)。
同时,如果进行拆分,则需要修改主键生成方式,目前看到mycat中提供一个sequence的存储过程,可以直接使用。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Linux下screen命令的使用 下一篇ODBC数据源管理器和三种DSN(还记..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: