Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17754
  • 博文数量: 9
  • 博客积分: 1430
  • 博客等级: 上尉
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-06 12:11
文章分类

全部博文(9)

文章存档

2010年(6)

2009年(3)

我的朋友
最近访客

分类: DB2/Informix

2009-12-07 13:21:51

上午对人员账户清单提取的程序作了修改,将原来每提一个人的数据开关一次数据库改为开关一次数据库一次性全部提完,结果时间节省了1/5左右;虽然节省的时间不是很满意,不过在这过程中用的办法感觉还好;我是先把要提的sql语句先全部写入脚本里然后一次执行这个脚本,unload出来的csv文档没有表头不方便阅读,现在还不知道怎么直接在文件里第一行加入一行数据而不采用临时文件(重定向可以做到,不过到现在还不知道怎么写)---这个过程浪费了些时间,本来系统I/O就慢;
之前写的另一个脚本是先把所有的数据导出来用分隔符分割然后用awk匹配来提,可是整个备下来的文件有100多M,不知道是awk操作大文件慢还是系统I/O的原来,效果很不理想,用的时间接近原来的两倍。
 
原有过程时间(提一个人开关一次数据库)
real    6m1.22s
user    0m11.40s
sys     0m30.01s
awk分割全量文件现需要时间
real    11m28.57s
user    9m55.17s
sys     0m54.81s
避免开关250几次数据库需要的时间
real    5m0.60s
user    0m11.24s
sys     0m26.64s
 
有人看到这个文章知道直接编辑一个文件而不采用临时文件的告诉我下哈
阅读(2554) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~