MyCat分片規則之取模分片

2021-09-26 19:16:07 字數 1628 閱讀 9781

除了上一章總結的列舉分片之外,mycat中還有一種比較常見的分片 - 取模分片規則,本節將總結如何實現取模分片。

【a】建立資料庫和表結構

create database testmod1;

create database testmod2;

use testmod1;

create table user(id int not null comment "使用者id",name varchar(30) comment "使用者名稱");

use testmod2;

create table user(id int not null comment "使用者id",name varchar(30) comment "使用者名稱");

【b】server.xml 配置邏輯庫名稱、使用者資訊

【c】schema.xml配置分片規則、分片表等

【d】rule.xml宣告分片函式為取模函式

id

rang-mod-user

2

【e】插入資料的時候,必須指定列名。mycat不支援直接插入不帶列明的資料。 記得重啟mycat服務。

insert into user(id,name) values(1,'zhangsan');

insert into user(id,name) values(2,'lisi');

insert into user(id,name) values(3,'wangwu');

insert into user(id,name) values(4,'zhaoliu');

mycat會根據指定的id,進行取模運算,運算結果如下表:

id取模結果 id % 2

分片節點

可見,實際結果跟**所**的一樣,以上就是關於取模分片的具體實現步驟。

MyCat分片規則之取模範圍分片

本文介紹另外一種分片規則 取模範圍分片,先進行取模運算再根據求餘結果範圍進行分片。下面通過示例說明在mycat中如何進行取模範圍分片,具體實現步驟如下 a 建立資料庫和表 b 配置server.xml 邏輯庫資訊 使用者資訊 c 配置rule.xml,定義取模範圍分片規則 d 配置partition...

MyCat分片規則之程式指定分片

a 建立資料庫和表 b 配置server.xml 0905 testdb user testdb true c 配置schema.xml分片表 分片節點等 d 配置rule.xml分片規則 e 測試插入資料 insert into user id,name values 111,0 zhangsan...

mycat分片規則

mycat 分片規則 mycat全域性表 如果你的業務中有些資料類似於資料字典,比如配置檔案的配置,常用業務的配置或者資料量不大很少變動的表,這些表往往不 是特別大,而且大部分的業務場景都會用到,那麼這種表適合於mycat全域性表,無須對資料進行切分,只要在所有的分片上儲存一 份資料即可,mycat...