全局表数据库
全局表的做用
在分片的状况下,当业务表由于规模而进行分片之后,业务表与这些附属的字典表之间的关联,就成了比较棘手的问题,考虑到字典表具备如下几个特性: 服务器
鉴于此,MyCAT 定义了一种特殊的表,称之为“全局表”,全局表具备如下特性: 性能
全局表配置(配置全部可能用到节点)spa
<table name="TBL_LOG" primaryKey="ID" type="global" dataNode="dn1,dn2" />
全局表说明
一、准对Select操做,mycat会随机如今一个节点输出结果内容;
二、准对Insert-Update-Delete操做,Mycat会操做全部节点code
E-R分片表blog
也称为父子表,主外键关联表;处理存在2种请求对应关系。it
一、父表的分片字段是子表的外键字段:table
这种状况下,父表经过分片字段查询能很快定位到数据库的位置提升查询性能;子表经过父表ID也能很快定位到分片服务器数据库地址;class
<table name="ORDER1" primaryKey="ID" dataNode="dn1,dn2" rule="mod-long"> <childTable name="ORDER_DETAIL" primaryKey="ID" joinKey="ORDER_ID" parentKey="ID" /> </table>
二、父表的分片字段不是子表的外键字段:配置
这种状况下,父表经过分片字段查询能很快定位到数据库的位置提升查询性能;子表经过父表ID查询时,Mycat将遍历全部节点数据,实现数据查询;
<table name="ORDER2" primaryKey="ID" dataNode="dn1,dn2" rule="province-str"> <childTable name="ORDER_DETAIL2" primaryKey="ID" joinKey="ORDER_ID" parentKey="ID" /> </table>