mysql跨服务器查询(java)

似曾相似的背影 2014-11-28 09:41:21
目前有两个服务器S1,S2
S1中有表A,B,C,其中两张表A,B数据记录上百万条
S2中有D,E,F,其中F也是上百万条数据,
现在要把ABCDEF一起连表查询(性能要求本地服务器访问1毫秒以内)
我是该每个数据库各自子查询再在java程序里联合(又该如何分页?),还是写一个跨服务器连表查询?
以前没做过这样子的,求大神指教!!
...全文
434 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 5 楼 ygycomon 的回复:
6张表要求join,我猜你的数据应该属于比较原始的数据,如果时效性不高的话,可以考虑每天半夜把当天的数据算好放在一张表里供查询 如果要实时查的话,我觉得比较难搞
目前是定时每天凌晨3点把S1几张表联合查询插入更新到一张S1新表,再把这张表复制到S2的新表中 问题是这个复制如何操作?我看到有定时导入导出sql文件但那都是整个数据库,求单张表的java导入导出。或者有更好的建议(跨服务器查询?单表同步?)求大神指导
致知Fighting 2014-12-02
  • 打赏
  • 举报
回复
引用 7 楼 u011699239 的回复:
[quote=引用 5 楼 ygycomon 的回复:] 6张表要求join,我猜你的数据应该属于比较原始的数据,如果时效性不高的话,可以考虑每天半夜把当天的数据算好放在一张表里供查询 如果要实时查的话,我觉得比较难搞
目前是定时每天凌晨3点把S1几张表联合查询插入更新到一张S1新表,再把这张表复制到S2的新表中 问题是这个复制如何操作?我看到有定时导入导出sql文件但那都是整个数据库,求单张表的java导入导出。或者有更好的建议(跨服务器查询?单表同步?)求大神指导[/quote] 数据库表同步这么简单的事情也要问,自己谷歌去吧
致知Fighting 2014-12-01
  • 打赏
  • 举报
回复
6张表要求join,我猜你的数据应该属于比较原始的数据,如果时效性不高的话,可以考虑每天半夜把当天的数据算好放在一张表里供查询 如果要实时查的话,我觉得比较难搞
dyhhello 2014-12-01
  • 打赏
  • 举报
回复
分表分库,水平切分,催着切分。看看mysql proxy
万笑爽 2014-12-01
  • 打赏
  • 举报
回复
每个数据库各自子查询再在java程序联合 这个 肯定达不到1毫秒 后台还需要处理 分页其实可以做到; 可以横向分页;也就是在一张表的结果集上横向加字段 比如之前结果集为 name ,sex age ,将S2中的结果集加入应该是 name,sex age,color 等等; 这种方式我之前操作过,可行,不会改编数据的总列数; 跨域的没做过 ,只使用jta连接多个数据库做过查询;跟你第一种方式类似; 如果是我的话,会采用这种方式; 单表查,每天一个时间点,定时将多表查询的结果集存到本地的一张单表中,这样就会是单表查询;效率也会快很多;
  • 打赏
  • 举报
回复
人呢
  • 打赏
  • 举报
回复
你好,听了你的建议 我在S2建了个中间表,把S1几个表的放进这个中间表 目前不懂得如何把S1的表同步到S2中间表的一些字段 如S1中A的name、B的tel、C的address怎么同步到S2的中间表的name、tel、address之中 我的方案是先把S1先迁移到S2中间表,定时每天凌晨3点更新同步,可这明显会有信息滞留的问题。。。学生党,求详细解释
引用 1 楼 ooppookid 的回复:
最好不要分开查询然后用程序处理,两种方案: 1.使用databaseLink跨域查询,比较简单,查询频繁的话效率不高,因为每次都要去查。 2.在一个库里建立中间表,用etl连两个源,先把查询结果落地在中间表,然后每次都增量存,这样查询起来就相当于在一个库里查,效率很高,而且某一个库挂了也不影响,只要中间表不挂即可。 一般多数据源都是先做数据集成,然后在去查。不然万一一个源down了,你系统不就废了
猿人林克 2014-11-29
  • 打赏
  • 举报
回复
最好不要分开查询然后用程序处理,两种方案: 1.使用databaseLink跨域查询,比较简单,查询频繁的话效率不高,因为每次都要去查。 2.在一个库里建立中间表,用etl连两个源,先把查询结果落地在中间表,然后每次都增量存,这样查询起来就相当于在一个库里查,效率很高,而且某一个库挂了也不影响,只要中间表不挂即可。 一般多数据源都是先做数据集成,然后在去查。不然万一一个源down了,你系统不就废了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧