(04)Mycat实现分库

1、如何选择分库表

java 复制代码
#客户表  rows:20万 
CREATE TABLE customer(
    id INT AUTO_INCREMENT,
    NAME VARCHAR(200),
    PRIMARY KEY(id)
);
 
#订单表   rows:600万
CREATE TABLE orders(
    id INT AUTO_INCREMENT,
    order_type INT,
    customer_id INT,
    amount DECIMAL(10,2),
    PRIMARY KEY(id)  
); 
 
#订单详细表     rows:600万
CREATE TABLE orders_detail(
    id INT AUTO_INCREMENT,
    detail VARCHAR(2000),
    order_id INT,
    PRIMARY KEY(id)
);
 
#订单状态字典表   rows:20
CREATE TABLE dict_order_type(
    id INT AUTO_INCREMENT,
    order_type VARCHAR(200),
    PRIMARY KEY(id)
);
 
 select o.*,od.detail,d.order_type 
from orders  o 
inner join orders_detail  od on o.id =od.order_id  
 inner join dict_order_type d on o.order_type=d.id  
where o.customer_id=xxxx

2、schema.xml

java 复制代码
<mycat:schema xmlns:mycat="http://io.mycat/">
 
        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
                <table name="customer" dataNode="dn2" ></table>
        </schema>
        <dataNode name="dn1" dataHost="host1" database="atguigu_mc" />
        <dataNode name="dn2" dataHost="host2" database="atguigu_sm" />
        <dataHost name="host1" maxCon="1000" minCon="10" balance="2"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="hostm1" url="192.168.67.1:3306" user="root"
                                   password="123123">
                       <readHost host="hosts1" url="192.168.67.131:3306" user="root"
                                   password="123123">
                       </readHost>
                </writeHost>
        </dataHost>
        <dataHost name="host2" maxCon="1000" minCon="10" balance="0"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="hostm2" url="192.168.67.1:3306" user="root"
                                   password="123123">
                </writeHost>
        </dataHost>
 
</mycat:schema>
相关推荐
jason_renyu9 分钟前
数据库关联查询(JOIN)完全指南
数据库·数据库关联查询·关联查询指南·数据库关联查询学习
jipeng599416 分钟前
(在项目中学习技术)完成使用swoole完成App二维码扫码登录网页端的操作
后端·php
掘金者阿豪18 分钟前
Maven打包血泪史:当你的IDEA路径里藏了个空格,整个宇宙都与你为敌
后端
山水洛行20 分钟前
基于 vLLM、Tavily 和 Arize Phoenix 构建本地 LLM 可观测性技术栈
后端
初次攀爬者21 分钟前
力扣解题-无重复字符的最长子串
后端·算法·leetcode
不敲代码的攻城狮25 分钟前
用 Spring StopWatch 做方法级别耗时统计 + 支持回调写法 + 自动打印日志
后端
MekoLi2926 分钟前
生成式推荐系统:从“判别式匹配”到“生成式创造”的范式革命
后端·算法
是码龙不是码农35 分钟前
MySQL 锁的完整分类与详解
数据库·mysql·
..过云雨40 分钟前
【MySQL】3. MySQL库的操作
数据库·mysql
wregjru44 分钟前
【操作系统】12.Linux 多线程同步与互斥详解
数据库·mysql