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);
    }
    每天一点点,惊喜不间断
  • 相关阅读:
    古典密码-移位密码|埃特巴什密码Atbash
    古典密码-凯撒密码Caeser
    古典密码-维吉尼亚密码Vigenere
    使用kubeadm搭建一个k8s集群
    用户态线程和内核态线程的区别
    模板合集
    NoteExpress 章节合并后如何更新参考文献列表?
    CSDN 博客园主题
    GShang的博客园2020年终总结
    【比赛记录】CodeChef January Challenge 2021
  • 原文地址:https://www.cnblogs.com/wszn-java/p/14832247.html
Copyright © 2011-2022 走看看