zoukankan      html  css  js  c++  java
  • 批量数据数据处理

    //防止数据量过大,分批批量插入
    int maxCount = 5000;
    for (int i = 0; i < serverInfoRecordVoList.size(); i += maxCount) {
    	if (i + maxCount > serverInfoRecordVoList.size()) {
    		// 批量处理操作
    		batchHandleForServerInfoRecord(serverInfoRecordVoList.subList(i,serverInfoRecordVoList.size()));
    	} else {
    		batchHandleForServerInfoRecord(serverInfoRecordVoList.subList(i, i + maxCount));
    	}
    }		
    
    /**
     * 分批处理服务器数据
     * @param serverInfoRecordVoList
     */
    private void batchHandleForServerInfoRecord(List<ServerInfoVo> serverInfoRecordVoList) {
    	Map<String, Object>[] paramMaps = new HashMap[serverInfoRecordVoList.size()];
    	for (int i = 0; i < serverInfoRecordVoList.size(); i++) {
    		Map<String, Object> paramMap = new HashMap<>();
    		paramMap.put("serverIp", serverInfoRecordVoList.get(i).getServerIp());
    		paramMap.put("serverName", serverInfoRecordVoList.get(i).getServerName());
    		paramMap.put("systemShortName", serverInfoRecordVoList.get(i).getSystemShortName());
    		paramMap.put("ldc", serverInfoRecordVoList.get(i).getLdc());
    		paramMap.put("envType", serverInfoRecordVoList.get(i).getEnvType());
    		paramMap.put("cpu", serverInfoRecordVoList.get(i).getCpu());
    		paramMap.put("memory", serverInfoRecordVoList.get(i).getMemory());
    		paramMap.put("diskSize", serverInfoRecordVoList.get(i).getDiskSize());
    		paramMap.put("dataDiskSize", serverInfoRecordVoList.get(i).getDataDiskSize());
    		paramMap.put("serverType", serverInfoRecordVoList.get(i).getServerType());
    		paramMap.put("softwareType", serverInfoRecordVoList.get(i).getSoftwareType());
    		paramMap.put("softwareName", serverInfoRecordVoList.get(i).getSoftwareName());
    		paramMap.put("useType", serverInfoRecordVoList.get(i).getUseType());
    		paramMap.put("hostIp", serverInfoRecordVoList.get(i).getHostIp());
    		paramMap.put("serverStatus", serverInfoRecordVoList.get(i).getServerStatus());
    		paramMap.put("osType", serverInfoRecordVoList.get(i).getOsType());
    		paramMap.put("osName", serverInfoRecordVoList.get(i).getOsName());
    		paramMaps[i] = paramMap;
    	}
    	// 数据插入处理操作
    	Long nowTime = System.currentTimeMillis();
    	serverInfoRecordDataDao.batchInsertServerInfoRecordData(paramMaps);
    	log.info("一次处理插入服务器记录表耗时:{}", System.currentTimeMillis() - nowTime);
    }
    每天一点点,惊喜不间断
  • 相关阅读:
    SICP的一些个人看法
    小猴爬台阶问题
    QlikView同button控制转换图表类型(例如,变成一个垂直的条形图)
    hdu1325 Is It A Tree?并检查集合
    c++头
    三个一流的设计继承
    流动python
    EL字符串表达式和常用功能用途拦截
    手提wifi双卡配置+window7同时多用户远程+有些公司限制网络环境方案
    AND信号灯和信号灯集-----同步和互斥解决面向对象(两)
  • 原文地址:https://www.cnblogs.com/wszn-java/p/14832247.html
Copyright © 2011-2022 走看看