全局表數據庫
全局表的做用
在分片的狀況下,當業務表由於規模而進行分片之後,業務表與這些附屬的字典表之間的關聯,就成了比較棘手的問題,考慮到字典表具備如下幾個特性: 服務器
鑑於此,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>