JAvaデータベースへのNデータの挿入

7965 ワード

mysqlのインデックスをテストするには、データベースに万件以上のデータを挿入してからテストします.手動で挿入するのが面倒で、コードを書きました.
コードを先に入力:
package action;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class InsertData {
    
    public  Connection getConnection(){
         //      
        String driver = "com.mysql.jdbc.Driver";
        // URL          scutcs
        String url = "jdbc:mysql://127.0.0.1:3306/wang";
        // MySQL       
        String user = "root";
        // MySQL      
        String password = "12345";
        Connection conn=null;

        try {
         //       
         Class.forName(driver);
         //      
         conn = DriverManager.getConnection(url, user, password);
        }
        catch (Exception e) {
              System.out.println("Sorry,can`t find the Driver!");
            e.printStackTrace();// TODO: handle exception
        }
        return conn;
    }

    
    public int insertData(int count,String value) throws SQLException{
        InsertData insertData=new InsertData();
        Connection conn=insertData.getConnection();
        if(!conn.isClosed())
         System.out.println("begin insert!");
        // statement    SQL  
        Statement statement = conn.createStatement();
        //     SQL  
        int n=0;
        for (int i = 0; i <=count; i++) {
            String sql = "insert into student(Sno,Sname) values('"+i+"','"+value+"')";
             n=statement.executeUpdate(sql);
             n++;
        }  
        System.out.println("insert end!");
        return n;
    }
    
    
    /**
     * @param args
     * @throws SQLException 
     */
    public static void main(String[] args) throws SQLException {
        // TODO Auto-generated method stub
        InsertData insertData=new InsertData();
        Connection conn=insertData.getConnection();
         if(!conn.isClosed())
          System.out.println("Succeeded connecting to the Database!");
         int n=0;
         n=insertData.insertData(10000,"    ");
         System.out.println("the Count is:"+n);
         
         // statement    SQL  
         Statement statement = conn.createStatement();
         //     SQL  
         String sql = "select * from student";
         //    
         ResultSet rs = statement.executeQuery(sql);

         System.out.println("-----------------");
         System.out.println("        :");
         System.out.println("-----------------");
         System.out.println("   " + "\t" + "   ");
         System.out.println("-----------------");

         String name = null;

         while(rs.next()) {
          name = rs.getString("sname");
          System.out.println(rs.getString("Sno") + "\t" + name);
         }

         rs.close();
         conn.close();


    }

}

このようにデータの挿入が遅すぎて、プログラムが遅いのか、データベースが遅すぎるのか分かりません.これは帰ってから検討して、後で待っています.