0

我正在玩一个游戏框架项目,我的项目的一部分需要在给定的时间间隔内插入大量数据。

我在这里有两个问题:

1- 我需要尽快完成批量插入 sa 2- 当批量插入作业正在运行时,它会严重影响我的服务器响应时间。我不知道这是游戏框架或我的问题。

这是我当前的批量插入代码:

      org.hibernate.Session session = 
            (org.hibernate.Session)SomeEntityModel.em().getDelegate(); 
  Transaction tx = session.beginTransaction();
  int i = 0;
  for(Inventory o:inventories)
      {
        returnList.add(SomeEntityModel.getInstance(o));
          i++;
          if(i%100==0)
          {
              tx.commit();
              session.flush();
              session.clear();
              tx=session.beginTransaction();
          }
      }

getInstance 模型将“o”对象转换为实体模型。

“o”对象大量来自网络服务,我将它们转换为“SomeEntityModel”,然后将其保存在 getInstance 方法中。

我需要知道是否有更好更快的方法来完成批量插入方法,以及是否有更好的方法来使用或优化作业运行时的服务器响应时间。

感谢您的帮助。

4

1 回答 1

1

你看过阿卡吗?它在 Play 2.0 中有强大的支持(如果你正在使用的话,它在 Play 1.x 中也有模块支持)。Akka 被设计为高性能并发包,其中一个用例是 Batch/Bulk。

于 2012-06-30T12:19:11.167 回答