A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【郑州校区】品优购电商系统部署 Day2 五

1.3.4 MyCat 分片测试
进入 mycat ,执行下列语句创建一个表:
[AppleScript] 纯文本查看 复制代码
 CREATE TABLE tb_test (
id BIGINT(20) NOT NULL,
title VARCHAR(100) NOT NULL ,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8 

创建后你会发现,MyCat 会自动将你的表转换为大写,这一点与 Oracle 有些类似。


我们再查看 MySQL 3 个库,发现表都自动创建好啦。好神奇。
接下来是插入表数据,注意,在写 INSERT 语句时一定要写把字段列表写出来,否则会出现下列错误提示:
错误代码: 1064
partition table, insert must provide ColumnList
我们试着插入一些数据:

[AppleScript] 纯文本查看 复制代码
INSERT INTO TB_TEST(ID,TITLE) VALUES(1,'goods1');
INSERT INTO TB_TEST(ID,TITLE) VALUES(2,'goods2');
INSERT INTO TB_TEST(ID,TITLE) VALUES(3,'goods3');

我们会发现这些数据被写入到第一个节点中了,那什么时候数据会写到第二个节点中呢?
我们插入下面的数据就可以插入第二个节点了

[AppleScript] 纯文本查看 复制代码
INSERT INTO TB_TEST(ID,TITLE) VALUES(5000001,'goods5000001'); 

因为我们采用的分片规则是每节点存储 500 万条数据,所以当 ID 大于 5000000 则会存储到第二个节点上。
目前只设置了两个节点,如果数据大于 1000 万条,会怎么样呢?执行下列语句测试一下

[AppleScript] 纯文本查看 复制代码
INSERT INTO TB_TEST(ID,TITLE) VALUES(10000001,'goods10000001');


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马