使用JDBC在Oracle中插入Clobs非常慢

时间:2011-09-23 16:06:01

标签: sql oracle jdbc clob

您好我正在尝试使用jdbc插入clob,通过maven插件。但插入大约需要10分钟。这非常慢,我想知道是否有另一种方法可以做到这一点。 clob需要有换行符。我的插件是从一个sql文件中调用的,它看起来像这样:

INSERT INTO SCHEMANAME.ATABLENAME VALUES (1,1,'ASTRING','ANOTHERSTRING','STRING WITH LINEBREAKS

BLAH BLAH

BLAH BLAH
BLAH BLAH
BLAH','FINALSTRING',sysdate);

3 个答案:

答案 0 :(得分:0)

提取AWR和ADDM报告,查看插入内容正在等待的内容。如果需要,可以获取手动快照以获取要检查的多个数据点。

插入单行10分钟表示数据库内存在锁定/阻塞/等待。

答案 1 :(得分:0)

如果您想知道是否有其他方法可以执行此操作,您是否可以尝试首先在CLOB列中插入空值,并在第一次插入后使用CLOB列进行更新?

答案 2 :(得分:-1)

CLOB肯定不是问题。 10分钟的极长时间表明涉及某种超时。其中两个浮现在脑海中:

  • 网络连接不可靠,传输几个字节需要很长时间。
  • 两个数据库会话正在尝试在Oracle中插入或更新同一行。如果第一个能够执行插入或更新但不提交连接,则第二个将被阻塞,直到第一个提交,回滚或结束会话。

第二个更有可能。