CREATE TABLE db1.```travelrecord``` (
    `id bigint NOT NULL AUTO_INCREMENT,<br /> user_id varchar(100) DEFAULT NULL,<br /> traveldate date DEFAULT NULL,<br /> fee decimal(10,0) DEFAULT NULL,<br /> days int DEFAULT NULL,<br /> blob longblob,<br /> PRIMARY KEY (id),<br /> KEY id (id)<br />) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by mod_hash(id) tbpartition by mod_hash(id)tbpartitions 2 dbpartitions 2;`

    CREATE TABLE db1.```travelrecord2``` (
    `id bigint NOT NULL AUTO_INCREMENT,<br /> user_id varchar(100) DEFAULT NULL,<br /> traveldate date DEFAULT NULL,<br /> fee decimal(10,0) DEFAULT NULL,<br /> days int DEFAULT NULL,<br /> blob longblob,<br /> PRIMARY KEY (id),<br /> KEY id (id)<br />) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by mod_hash(user_id) tbpartition by mod_hash(user_id) `tbpartitions 2 dbpartitions 2;

    上述两表具有相同的分片算法,但是分片字段不相同

    mycat2在涉及这两个表的join 分片字段等价关系的时候可以完成join的下推

    mycat2无需指定ER表,是自动识别的,具体看分片算法的接口

    查看配置的表是否具有ER关系,使用

    /*+ mycat:showErGroup{}*/
    查看

    结果
    groupId schemaName tableName
    0 db1 travelrecord
    0 db1 travelrecord2

    group_id表示相同的组,该组中的表具有相同的存储分布

    ER关系暂时不检查分区的目标是否相同,仅使用分片算法判断是否满足ER关系