informix 锁表问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了informix 锁表问题相关的知识,希望对你有一定的参考价值。
最近在做个项目,需要一次性导入4W-5W条数据到informix数据库中,我写了个循环进行插入,当一条条插入的时候会报内存溢出,当一次插入18条时当插入到3w多条的时候程序就报 找不到表错误,这时候表被锁了,我不明白为什么就我一个人插入数据也会锁表,求解。
插入操作的代码如下:
..
..
StringBuffer sql = new StringBuffer();
PreparedStatement pst = null;
con.setAutoCommit(false);
int deal_index = 18;//一次性插入18条数据
int temp = deal_index;
//需要的数据保存在list中,里面保存4W到5W条数据
for (int i = 0; i < list.size(); i+=deal_index)
sql.delete(0, sql.length());
sql.append("set lock mode to wait 10");
pst = con.prepareStatement(sql.toString());
pst.executeUpdate();
sql.delete(0, sql.length());
for (int j = i; j < temp; j++)
sql.append("insert into au_newaccount values('").append(list.get(j)).append("',").append(type).append(");");
temp += deal_index;
if(temp >list.size())
temp = list.size();
pst = con.prepareStatement(sql.toString());
pst.executeUpdate();
Thread.sleep(10);
con.commit();
System.out.println("插入完成");
但是informix数据库刚建的,日志应该不会满啊
以上是关于informix 锁表问题的主要内容,如果未能解决你的问题,请参考以下文章