oracle 单独执行插入语句速度很快,放到存储过程里面就特别慢。

时间:2022-03-05 06:01:25
现在有一个存储过程,通过数据链取远程表的数据 到本地表,单独执行插入语句的时候插入速度很快 ,一天的数据也就两分钟左右就插入完成,但是写入存储过程放到定时JOB跑的时候要一个多小时,甚至有时候要两个多小时才能插入完成,这是为什么啊,求解! oracle 单独执行插入语句速度很快,放到存储过程里面就特别慢。   oracle 单独执行插入语句速度很快,放到存储过程里面就特别慢。

3 个解决方案

#1


建议LZ新建一个日志表,然后在存储过程中插入带时间写日志表的语句,查询存储过程具体在做些什么。

#2


引用 1 楼 tomshenhao 的回复:
建议LZ新建一个日志表,然后在存储过程中插入带时间写日志表的语句,查询存储过程具体在做些什么。

 你是说 把存储过程执行的时候做的什么 一点点的记录下来? 怎么取存储过程执行时候的日志。、

#3


你在存储过程中执行insert 语句,然后往日志表里面添加。
例如: 你先创建一个JOB_STATS表记录日志,然后程序开始前执行:
INSERT INTO JOB_STATS VALUES ('job start', SYSDATE); 
执行查询前:
INSERT INTO JOB_STATS VALUES ('select start', SYSDATE); 
。。。
这样你就可以查看具体什么操作占用时间。

#1


建议LZ新建一个日志表,然后在存储过程中插入带时间写日志表的语句,查询存储过程具体在做些什么。

#2


引用 1 楼 tomshenhao 的回复:
建议LZ新建一个日志表,然后在存储过程中插入带时间写日志表的语句,查询存储过程具体在做些什么。

 你是说 把存储过程执行的时候做的什么 一点点的记录下来? 怎么取存储过程执行时候的日志。、

#3


你在存储过程中执行insert 语句,然后往日志表里面添加。
例如: 你先创建一个JOB_STATS表记录日志,然后程序开始前执行:
INSERT INTO JOB_STATS VALUES ('job start', SYSDATE); 
执行查询前:
INSERT INTO JOB_STATS VALUES ('select start', SYSDATE); 
。。。
这样你就可以查看具体什么操作占用时间。