神刀安全网

【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

正文之前

今天又浪了一天!我简直是不能原谅自己了!!!可耻!!!
所以,还是把那200万条数据写入到数据库里边吧!没想到这还是个有技术性的活!折腾了个把小时才弄好!我也是太菜了!!!

正文

现在还在上传,我估摸着这初期100万条数据得好几分钟才能上传完毕!心痛

【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

写了这么老半天都只出来了三万条。。。

【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

实在难以想象,如果突然崩溃了我会不会想死??要知道我待会还要去健身, 100万条就这么久了!待会重来鬼知道吃晚饭之前能不能去健身房?!?!我还准备健身完回来吃晚呢!

【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

废话不多说,放代码!!

import java.io.*; import java.text.NumberFormat; import java.io.IOException; import java.sql.SQLException; import java.sql.Statement; import java.util.Scanner;   public class WriteGearData {     protected Mysql_Connect mysql=new Mysql_Connect();       public void Delete(int max){         try {             mysql.Connect();             Statement statement = mysql.getStatement();             String DELETE = "delete from gear where id<"+max;             boolean delete_ok = statement.execute(DELETE);             if (delete_ok) {                 System.out.println("Have Fun! Boys!/n/n");             }             statement.close();             mysql.Dis_Connect();         } catch (SQLException e) {             e.printStackTrace();         } catch (Exception e) {             e.printStackTrace();         }     }     public String getInsertQuery(int id,Object[] name,Object[] value){         String insert="INSERT INTO gear(id";         for (int i=0;i<name.length;++i){             insert+=(","+name[i]);         }         insert+=") values("+id;         for (int i=0;i<value.length;++i){             insert+=(","+value[i]+"");         }         insert+=");";         return insert;     }      public void WriteData() throws IOException {         Delete(100000);         int hz[] = new int [] {0,10,20,30,40,50,60,70,80,90};         int id = 0;         for (int  x : hz) {             String filename = "/Users/zhangzhaobo/Documents/Graduation-Design/Data/BrokenTooth Data/b30hz" + x + ".txt";             Scanner scanner=new Scanner(new FileInputStream(filename));             Object[] Name = new String[]{"Sensor1","Sensor2","Sensor3","Sensor4","HZ","category"};             try {                 mysql.Connect();                 Statement statement = mysql.getStatement();                 do{                     Object [] line = new Object[6];                     NumberFormat nf = NumberFormat.getNumberInstance();                     nf.setMaximumFractionDigits(1);                     for (int i=0;i<4;++i){                         line[i]=Float.parseFloat(nf.format(scanner.nextFloat()));                     }                     line[4] = x;                     line[5] = 0;                     String INSERT = getInsertQuery(id, Name, line);                     boolean insert_ok = statement.execute(INSERT);                     if (insert_ok) {                         System.out.println("Insert Failed!");                     }                     id++;                 }while(scanner.hasNext());                 statement.close();                 mysql.Dis_Connect();             } catch (SQLException e) {                 e.printStackTrace();             } catch (Exception e) {                 e.printStackTrace();             }         }     } } 

这是Java版本的,在主程序里面定义一个实例对象就ok!

    public static  void main(String[] args) throws Exception{         long startTime=System.currentTimeMillis();   //获取开始时间         WriteGearData gear = new WriteGearData();         gear.WriteData();         long endTime=System.currentTimeMillis(); //获取结束时间         System.out.println("程序运行时间: "+(endTime-startTime)+"ms");     } 

13 万了 感动!!但是我又100万啊!!!

【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

另外其实还有个C++版本的,但是那个不是写入数据库,而是写入本地文本,果然,数据量一大,Java简直被C++掀开了裤子狂艹啊!C++我记得两百万数据也就10秒不到,虽然只是本地IO,但是这差距也太他么大了吧?!!啊??

运行时间这么多。。 3589秒。。兄dei。。。也就是接近一个小时,就差十几秒 了!。。。100万条就一小时。。。想想那些上亿的真是心痛。。光是写进入就这么久。还要读出来,要处理。。。我滴妈!!难怪大数据!

【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

正文之后

终于还是让我搞完了!!???

【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 【毕设进行时-工业大数据,数据挖掘】Java 数据库写入两百万条记录!

分享到:更多 ()