select * from table_a a where a.num in (select b.num from table_b b);
表a与表b在两个不同的数据库中,如果要使用上面的语句必须通过dblink建立两个数据库的连接,但现在不能用dblink,我的方法是先将a,b两个表的数据分别从其各自的数据库中查出写入到文本中,再用java程序作比较对两具文本的数据比较,但数据量太大(200万以上),请问大家有什么好的方法。
表a与表b在两个不同的数据库中,如果要使用上面的语句必须通过dblink建立两个数据库的连接,但现在不能用dblink,我的方法是先将a,b两个表的数据分别从其各自的数据库中查出写入到文本中,再用java程序作比较对两具文本的数据比较,但数据量太大(200万以上),请问大家有什么好的方法。
解决方案 »
- struts1.x的logic:iterate标签为什么能和java混用? 就是iterate 标签的id属性可以直接当做一个变量。
- java如何保存字符串类型的图片数据
- myeclipse8.5和maven集成出现问题
- 有了hibernate,我还需要再去重新学数据库吗
- WebSphere配置Oracle数据源,通过JNDI获取数据源出错
- 自定义表单开发中,生成的动态表怎么进行CURD操作??
- struts和hibernate整合异常,谁帮我看看
- 关于spring事务管理不关闭connection问题!多谢。
- 大侠帮忙,请问如何用java构造这个东东?
- 关于JB7...
- 基于RBAC的权限管理系统的实现
- Hibernate与MySQL日期格式问题
如果实在是你的机器不行,那么可以这样做。A表 以 a.num排序输出到文件。 B表以 B.num排序,取出b.num到文件。1 取 10000 条b表文件 放入hashmap
2 循环A表文件,获取数据。
2.1 再HashMap中定位该数据。
2.2 若定位失败。
2.2.1 若 a.num>b.num(最大值)
2.2.1.1 取b表数据,取出 b.num >=a.num 的10000条数据 放入hashMap. 重新回到2.1
2.2.2 重新回到2 的循环