欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

mysql 一次性万万条带blob数据库批量插入经验

更新时间: 2014-01-05 02:04:31 责任编辑: Author_N1

 

MYSQL 一次性千万条带BLOB数据库批量插入经验
DbUtil db = new DbUtil();
try {

			
			db.connect(
			"com.mysql.jdbc.Driver",
			"jdbc:mysql://192.168.0.151/ztzx?useUnicode=true&characterEncoding=UTF-8",
			"app", "app");

			String sql = "select max(sfzhm) from idc";
			
			String uuid = "";
			String sfzhm = "0";
			
			Vector<Object[]> vec = db.select(sql);
			if(vec==null || vec.size()==0){
				sfzhm="0";
			}else{
				for(Object[] obj:vec){
					sfzhm= String.valueOf(obj[0]);					
				}
			}
			
			if(StringUtils.isBlank(sfzhm)){
				sfzhm = "0";
			}
			
			System.out.println("===start===sfzhm===="+sfzhm);
			File file = new File("D:\\sfzhm.jpg");
			InputStream in = new BufferedInputStream(new FileInputStream(file));
			blob = FileUtils.readFileToByteArray(file);
                        //PreparedStatement  必须的
			PreparedStatement ps = null; 
			//long sfz= 0;
			for (int i = 0; i < 10000000; i++) {				
				
				sfzhm = String.valueOf(Long.parseLong(sfzhm)+1);
				sfzhm = CommUtils.getFormatStr(sfzhm, 18);
				sql = "insert into idc (enabled,name,sfzhm,img) values (?,?,?,?)";

				ps = db.getCconOra().prepareStatement(sql);
				ps.setInt(1, 0);
				ps.setString(2, "测试姓名");
				ps.setString(3, sfzhm);
				ps.setBinaryStream(4, in, (int) file.length());
				//ps.setBytes(4, blob);
				
				ps.addBatch();
				// 1000条批量提交一次
				if (i % 100 == 0) {
					ps.executeBatch();
				}
				
				if (i % 1000 == 0) {
					db.commit();
					ps.close();
					ps = db.getCconOra().prepareStatement(sql);
				}
				
				
				System.out.println(i+"=====sfzhm===="+sfzhm);
			}
			
			in.close();
			in = null;

			db.commit();
			
			long end = System.currentTimeMillis();			

			System.out.println((end - start)/1000);
		} catch (Exception e) {
			db.rollback();
			e.printStackTrace();
		} finally {			
			db.disConnect();
		}
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:04:31
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/5297/
本文WWW.DOC100.NET DOC100.NET版权所有。