免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1669 | 回复: 5
打印 上一主题 下一主题

[求助]JavaWeb项目 两个大表 互导 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-07-25 15:34 |只看该作者 |倒序浏览
有一张大表,数据量很多。另有一张新表,需要从那个大表把数据导入新表,新表中的个别字段要进行算术运算后再导入。由于特殊原因,要用spring做定时任务,每半小时更新少许数据,以保证服务器的正常运行,求指导,谢谢~

论坛徽章:
27
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-09-18 15:24:09CU大牛徽章
日期:2013-09-18 15:24:20CU大牛徽章
日期:2013-09-18 15:24:25CU大牛徽章
日期:2013-09-18 15:24:31CU大牛徽章
日期:2013-09-18 15:24:36CU大牛徽章
日期:2013-09-18 15:24:41CU大牛徽章
日期:2013-09-18 15:24:48CU大牛徽章
日期:2013-09-18 15:24:52处女座
日期:2013-09-27 17:45:43
2 [报告]
发表于 2012-07-25 16:50 |只看该作者
建议用存储过程,类似于mysql和oracle都有定时器,可以执行存储过程。
使用存储过程的好处是
数据库是集合运算,你用java从数据库查出数据,再一条条计算,再插入回去太慢了。
像你这种情况可以这样
例如
A,B表是id int,name varchar(20),age int
我要从A里提取新增的记录到B中,并且age要加1
  1. mysql> create table a (id int,name varchar(20),age int);
  2. Query OK, 0 rows affected (0.01 sec)

  3. mysql> create table b (id int,name varchar(20),age int);
  4. Query OK, 0 rows affected (0.02 sec)

  5. mysql> insert into a (1,'a',20);
复制代码


论坛徽章:
0
3 [报告]
发表于 2012-07-25 17:25 |只看该作者
是一个数据库吗?如果是一个数据库的话直接使用存储过程设置时间调度就行

如果不是同一个数据库,就写一个同步程序,使用SPring调度一下就行(分批处理)

论坛徽章:
0
4 [报告]
发表于 2012-07-26 10:26 |只看该作者
yifangyou 发表于 2012-07-25 16:50
建议用存储过程,类似于mysql和oracle都有定时器,可以执行存储过程。
使用存储过程的好处是
数据库是集合 ...


谢谢啊!

领导要求不用存储过程,后台分批insert ,但数据太多,慢了急人,快了我担心服务器挂掉。有没有什么优化的办法,struts+ibatis+string架构的项目

论坛徽章:
27
CU大牛徽章
日期:2013-03-13 15:15:08CU大牛徽章
日期:2013-05-20 10:46:38CU大牛徽章
日期:2013-05-20 10:46:44CU大牛徽章
日期:2013-09-18 15:24:09CU大牛徽章
日期:2013-09-18 15:24:20CU大牛徽章
日期:2013-09-18 15:24:25CU大牛徽章
日期:2013-09-18 15:24:31CU大牛徽章
日期:2013-09-18 15:24:36CU大牛徽章
日期:2013-09-18 15:24:41CU大牛徽章
日期:2013-09-18 15:24:48CU大牛徽章
日期:2013-09-18 15:24:52处女座
日期:2013-09-27 17:45:43
5 [报告]
发表于 2012-07-26 12:50 |只看该作者
回复 4# 709900560

不用存储过程也可以啊,就是用java执行sql时,尽量使用集合操作(可以使用临时表),减少一条条操作,也不要把数据取出来,这样会快很多,担心快而把数据库弄挂完全没有必要
   

论坛徽章:
0
6 [报告]
发表于 2012-08-07 14:43 |只看该作者
用etl工具,kettle,无需编程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP