【发布时间】:2015-07-30 04:33:03
【问题描述】:
过程的内容 - 只有两个通过 IN 参数插入的直接插入语句。 当必须插入一行时,该过程将每秒执行一次。这是一种充电。如果您充值,详细信息将由其他团队通过 java (callable statement) 发送给我们。通常当 CPU 较低时,我们可以看到该过程的 10-15 个会话(在 v$session 中)并且数据将被完美插入。当 CPU 有点高时,我们可以一次看到 80-90 个会话,每个会话在 2.3 秒后失效。在其他系统的java中插入需要时间并最终超时。
我希望我已经说明了这一点。 有没有其他方法可以纠正这个问题。除了通过程序。我尝试在 pl/sql 中使用 RECORD 概念,但实际上什么也没发生。
我的程序看起来像这样。
create procedure procedure_name (co1 IN varchar , col2 IN vvarchar.... col15 IN varchar)
x varchar2,
y varchar2,
z varchar2,
.
.
.
begin
x:=col1;
y:=col2;
.
.
.
insert into table1 (column1, column2 ,...) values (x,y,z..); commit;
if (x=15) then
insert into table2(column1,column2,..) values (x,y,z); commit;
exception
when others
..
end;
【问题讨论】:
-
我认为这更像是数据库配置问题而不是代码问题。
-
为什么在插入之前将 col1 分配给不同的变量名?当然你可以写
insert into table1 values (col1, col2, col3...);
标签: java plsql plsqldeveloper database-tuning