求教 oracle调用java接口 非常慢

afeng999 2012-12-13 05:41:31
用oracle的存储过程调用java接口执行 为何这么慢??
我是用sqldeveloper 执行以下2条sql 生成接口 再在存储过程里面调用
单个文件 100M左右 半小时才20-30M
如果我用这段java直接执行 才200秒
为什么会这么慢的呢?
create or replace and compile java source named replacefile as
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class ReplaceFile {

public static void replacing(String fileOld, String fileNew,
String fileReplace) {
String[] uncomFont = { "倈", "億", "剕", "厊", "唡", "噟", "坾", "墊", "妡",
"媩", "寍", "峾", "巪", "弢", "恷", "憒", "抾", "搢", "攟", "晐", "東",
"梶", "榺", "檤", "殀", "渱", "潀", "瀨", "焲", "爘", "獆", "珅", "瑋",
"瓅", "畖", "瘄", "皘", "眧", "瞸", "硘", "磡", "祙", "秥", "穦", "竱",
"箌", "簗", "粅", "紎", "絴", "緗", "縷", "纜", "羭", "聕", "脇", "膢",
"舼", "苵", "莬", "葇", "蓔", "蕓", "藎", "蘾", "蛗", "蝲", "蟶", "衸",
"褆", "襹", "觸", "詜", "諀", "謡", "讄", "貄", "質", "趞", "踻", "軀",
"輡", "迀", "遼", "鄚", "醸", "鈢", "銃", "鋦", "鍇", "鎩", "鐋", "鑭",
"閨", "陓", "雦", "靯", "韡", "顋", "飢", "饇", "駖", "騶", "髚", "魘",
"鮸", "鰘", "鱸", "鴟", "鵿", "鷟", "鹼", "鼃", "齶" };// 生僻字
BufferedReader fileReader = null;
BufferedWriter fileWriter = null;
File dirFile = new File(fileNew);
if (!dirFile.exists()) {
try {
dirFile.createNewFile();
} catch (IOException e) {
try {
dirFile.getParentFile().mkdirs();
dirFile.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
try {
fileReader = new BufferedReader(new FileReader(fileOld));
fileWriter = new BufferedWriter(new FileWriter(fileNew));
String ftemp;
while ((ftemp = fileReader.readLine()) != null) {
for (int k = 0; k < uncomFont.length; k++) {
ftemp = ftemp.replaceAll(uncomFont[k], fileReplace);
}
fileWriter.write(ftemp + "\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
} finally {
try {
if (fileReader != null) {
fileReader.close();
}
fileWriter.flush();
if (fileWriter != null) {
fileWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}

}

}
}

CREATE OR REPLACE PROCEDURE "SP_REPLACEFILE" (fileOld in varchar2,fileNew in varchar2,fileReplace in varchar2) as language java name 'ReplaceFile.replacing(java.lang.String,java.lang.String,java.lang.String)';

...全文
124 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
fw0124 2012-12-14
  • 打赏
  • 举报
回复
你加些输出看看具体是那个操作慢

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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