先贴代码,正常的BATCH模式入库。
入库数据是从hornetq消息队列读取,约1000W数据量
入库效率刚开始10000条数据,约5000ms;入库上百万后,入库效率明显变低,10000条数据,入库需20000ms个人猜测可能的原因:1.oracle数据库入库效率问题;2.hornetq队列积压,处理不过来,导致入库效率慢(这个会导致入库慢吗?)
求助!!!private void save(final List<DSOnlineOrder> orders) {
        if (orders == null || orders.isEmpty()) {
            return;
        }
        SqlSession sqlSession = null;
        DSOnlineOrderMapper mapper;
        try {
            sqlSession = toFactory.openSession(ExecutorType.BATCH, false);
            mapper = sqlSession.getMapper(DSOnlineOrderMapper.class);
            for (DSOnlineOrder dsPayOrder : orders) {
             mapper.insertSelective(dsPayOrder);
            }
            sqlSession.commit();
            sqlSession.clearCache();
        } catch (Exception e) {
            if (sqlSession != null)
                sqlSession.rollback();
            logger.error("save dspayorder error:", e);
        } finally {
            if (sqlSession != null)
                sqlSession.close();
        }
    }