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();
}
}
このようにデータの挿入が遅すぎて、プログラムが遅いのか、データベースが遅すぎるのか分かりません.これは帰ってから検討して、後で待っています.