Java培训MySQL之MYCAT水平分表

发布时间:2020年07月02日作者:atguigu浏览次数:661

  1. 修改配置文件schema.xml

<?xml version=”1.0″?>

<!DOCTYPE mycat:schema SYSTEM “schema.dtd”>

<mycat:schema xmlns:mycat=”http://io.mycat/”>

        <schema name=”TESTDB” checkSQLschema=”false” sqlMaxLimit=”100″ dataNode=”dn1″>

                <table name=”customer” dataNode=”dn2″ ></table>

                <table name=”orders” dataNode=”dn1,dn2″  rule=”mod_rule” ></table>

        </schema>

       ……

  • 修改配置文件rule.xml

<tableRule name=”mod_rule”>

             <rule>

                        <columns>customer_id</columns>

                        <algorithm>mod-long</algorithm>

               </rule>

       </tableRule>

<function name=”mod-long” class=”io.mycat.route.function.PartitionByMod”>

                <!– how many data nodes –>

                <property name=”count”>2</property>

        </function>

  • 跨库join ER表

为了相关联的表的行尽量分在一个库下

        修改配置文件schema.xml

<?xml version=”1.0″?>

<!DOCTYPE mycat:schema SYSTEM “schema.dtd”>

<mycat:schema xmlns:mycat=”http://io.mycat/”>

        <schema name=”TESTDB” checkSQLschema=”false” sqlMaxLimit=”100″ dataNode=”dn1″>

                <table name=”customer” dataNode=”dn2″ ></table>

                <table name=”orders” dataNode=”dn1,dn2″  rule=”mod_rule” >

<childTable name=”orders_detail” primaryKey=”id” joinKey=”order_id” parentKey=”id” />

</table>

        </schema>

       ……

  • 全局表

设定为全局的表,会直接复制给每个数据库一份,所有写操作也会同步给多个库。

所以全局表一般不能是大数据表或者更新频繁的表。一般是字典表或者系统表为宜。

<?xml version=”1.0″?>

<!DOCTYPE mycat:schema SYSTEM “schema.dtd”>

<mycat:schema xmlns:mycat=”http://io.mycat/”>

        <schema name=”TESTDB” checkSQLschema=”false” sqlMaxLimit=”100″ dataNode=”dn1″>

                <table name=”customer” dataNode=”dn2″ ></table>

                <table name=”orders” dataNode=”dn1,dn2″  rule=”mod_rule” >

<childTable name=”orders_detail” primaryKey=”id” joinKey=”order_id” parentKey=”id” />

</table>

<table name=”dict_order_type” dataNode=”dn1,dn2″ type=”global” ></table>

        </schema>

       ……

  • 建相关表

想要了解跟多关于Java培训课程内容欢迎关注尚硅谷Java培训,尚硅谷除了这些技术文章外还有免费的高质量Java培训课程视频供广大学员下载学习


上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训 UI/UE设计培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦3层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)

西安市雁塔区和发智能大厦B座3层(西安校区)