解决方案 »

  1.   

    最好不要分开查询然后用程序处理,两种方案:1.使用databaseLink跨域查询,比较简单,查询频繁的话效率不高,因为每次都要去查。2.在一个库里建立中间表,用etl连两个源,先把查询结果落地在中间表,然后每次都增量存,这样查询起来就相当于在一个库里查,效率很高,而且某一个库挂了也不影响,只要中间表不挂即可。一般多数据源都是先做数据集成,然后在去查。不然万一一个源down了,你系统不就废了
      

  2.   

    你好,听了你的建议
    我在S2建了个中间表,把S1几个表的放进这个中间表
    目前不懂得如何把S1的表同步到S2中间表的一些字段
    如S1中A的name、B的tel、C的address怎么同步到S2的中间表的name、tel、address之中
    我的方案是先把S1先迁移到S2中间表,定时每天凌晨3点更新同步,可这明显会有信息滞留的问题学生党,求详细解释
      

  3.   

    分表分库,水平切分,催着切分。看看mysql proxy
      

  4.   

    6张表要求join,我猜你的数据应该属于比较原始的数据,如果时效性不高的话,可以考虑每天半夜把当天的数据算好放在一张表里供查询如果要实时查的话,我觉得比较难搞
      

  5.   

    每个数据库各自子查询再在java程序联合  这个 肯定达不到1毫秒 后台还需要处理  分页其实可以做到; 可以横向分页;也就是在一张表的结果集上横向加字段  比如之前结果集为 name ,sex age ,将S2中的结果集加入应该是 name,sex age,color 等等;
    这种方式我之前操作过,可行,不会改编数据的总列数;跨域的没做过 ,只使用jta连接多个数据库做过查询;跟你第一种方式类似;如果是我的话,会采用这种方式;单表查,每天一个时间点,定时将多表查询的结果集存到本地的一张单表中,这样就会是单表查询;效率也会快很多;
      

  6.   

    目前是定时每天凌晨3点把S1几张表联合查询插入更新到一张S1新表,再把这张表复制到S2的新表中
    问题是这个复制如何操作?我看到有定时导入导出sql文件但那都是整个数据库,求单张表的java导入导出。或者有更好的建议(跨服务器查询?单表同步?)求大神指导
      

  7.   

    目前是定时每天凌晨3点把S1几张表联合查询插入更新到一张S1新表,再把这张表复制到S2的新表中
    问题是这个复制如何操作?我看到有定时导入导出sql文件但那都是整个数据库,求单张表的java导入导出。或者有更好的建议(跨服务器查询?单表同步?)求大神指导数据库表同步这么简单的事情也要问,自己谷歌去吧