当该属性设置为某个数值时,每次执行的SQL语句如果没有加上limit语句, MyCat也会自动在limit语句后面加上对应的数值 。也就是说, 如果设置了该值为100,则执行 select * from TB_TEST
与 select * from TB_TEST limit 100
是相同的效果 。
所以在正常的使用中, 建立设置该值 , 这样就可以避免每次有过多的数据返回。
2.子标签table
table 标签 定义了MyCat中逻辑库schema下的逻辑表 , 所有需要拆分的表都需要在table标签中定义 。
属性如下 :
-
name
定义逻辑表的表名 , 在该逻辑库下必须唯一。 -
dataNode
定义的逻辑表所属的dataNode
, 该属性需要与dataNode标签中的name属性的值对应。 如果一张表拆分的数据,存储在多个数据节点上,多个节点的名称使用","
分隔 。
-
rule
该属性用于指定逻辑表的分片规则的名字, 规则的名字是在rule.xml文件中定义的, 必须与tableRule标签中name属性对应。
-
ruleRequired
该属性用于指定表是否绑定分片规则, 如果配置为true, 但是没有具体的rule, 程序会报错。 -
primaryKey
逻辑表对应真实表的主键
如: 分片规则是使用主键进行分片, 使用主键进行查询时, 就会发送查询语句到配置的所有的datanode
上; 如果使用该属性配置真实表的主键, 那么MyCat会缓存主键与具体datanode
的信息,再次使用主键查询就不会进行广播式查询了, 而是直接将SQL发送给具体的datanode
。 -
type
该属性定义了逻辑表的类型,目前逻辑表只有全局表<