<schema name="dbtest" checkSQLschema="false" sqlMaxLimit="100" dataNode="dbtest"> <!--a.这个ena_app_time不是dbtest中的表,采用这种方式配置之后在dbtest中是打不开这个的表的,两种方式都可以看到所有的表名,就是打不开--> <table name="ena_app_time" dataNode="talktest" rule="sharding-by-murmur"/> </schema> <schema name="dbtest1" checkSQLschema="false" sqlMaxLimit="100"> <!--b.这个ena_app_time不是dbtest中的表,这个schema上去掉了datanode之后就可以打开下面的表,两种方式都可以看到所有的表名,就是打不开--> <table name="ena_app_time_h" dataNode="talktest" rule="sharding-by-murmur"/> </schema>
去掉datanode和不去掉datanode的区别是
1.若去掉datanode,可以在虚拟的schema中添加别的库中的表,比如添加了A库的a表,那么是可以打开a表的,但是A库中的b.c.d....也会显示出来,只是不能打开
2.若不去datanode,只能添加和这个datanode库中的表,添加别的表是打不开的
3.如果你要采用读写分离又不想将所有的表都配置上,就需要采用这种带datanode的节点