在一个链接中进行批量处理,conn 为同一个链接, 初始化默认打开事物并且设置自动提交为false。 insertIntoEvw(conn, corrList, user_id);// 插入evw表 

// 从evw中检索数据, 插入到主表
insertEvtFromEvw(conn, user_id);完成后 conn.commit();但是现在遇到一个问题插入evw后 在后来这个insertEvtFromEvw方法中检索不到前一步插入到evw的数据。以前也遇到过, 通过程序的方式处理的, 请问高手有什么处理方法?

解决方案 »

  1.   

    插入evw后,应该先COMMIT一下吧
      

  2.   

    1) 你使用的事务数据库是这样的. 当你还没有提交(Commit),数据存储介质记录依然是没有改变的. 所以,你查询的结果依然是没有那一条记录. 
    2) 基于第一的原因,我们在处理批量插入时候需要注意两个事情. 
      第一,插入数据是否需要进行即时查询.有其他的业务需要基于这些数据继续进行呢?若是需要,请你不要进行批量插入.因为这样会影响到你系统本身的业务.
      第二,寻找一个适合本身系统批量插入的机制.(多少秒就提交一次或者是插入多少条记录提交一次等)