ITPub博客

首页 > 数据库 > Oracle > 从Oracle卸载数据到文本文件的性能问题

从Oracle卸载数据到文本文件的性能问题

原创 Oracle 作者:rejoice999 时间:2008-09-08 22:33:12 0 删除 编辑

某电信运营商营销系统每月上旬需卸载大量数据到文本文件,下发给相关单位。在奥运重保期间观察到运行该任务的主机CPU的IDLE接近于0,进行了分析,提出建议。

[@more@]

检查发现占用CPU的进程全部是sqlplus进程,而不是数据库性能问题时常见的server process,进一步了解,发现该业务处理是一系列脚本,调用sqlplus,通过SQL*Net连接到另一主机上的数据库,并把结果用spool输出到文本文件。

用sqlplus产生文本文件固然是一个简单易行的方法,但是性能一般,对于如此多的SQL以及如此大量数据的输出,显然不是一个适当的办法。从用户处了解到,完成此项工作需要6-8个小时。

分别采用Java和Pro*C编程进行了同样功能的测试,卸载30万行数据,每行约40字节,速度对比如下:

SQL*Plus:110秒

Java:10秒

Pro*C:<2秒

Pro*C程序参见:

http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:459020243348

已根据此测试结果,向用户提出建议。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14993/viewspace-1010384/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2007-12-14

  • 博文量
    3
  • 访问量
    7553