我现在要把表1中的56万数据分别插入同一库中的表2和表3中,但插入时需满足以下条件:1.表1中的某些字段类型需转换后才能插入表2和表32.表3中有主键控制,不能插入某字段值相同的数据(56万数据中包括此类数据);表2无主键控制,每条数据都插入我现在写了一个连接数据库的bean如下:
package transition;
import java.sql.*;
public class ebcmdb {  String sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
  String sConnStr = "jdbc:microsoft:sqlserver://sbb:1433;DatabaseName=ebcm20";
  private Connection conn = null;
  private Statement stmt=null;
  ResultSet rs = null;  public ebcmdb()
  {    try
    {
      Class.forName(sDBDriver);
    }    catch(java.lang.ClassNotFoundException et)
    {
      System.err.println("reddb():" + et.getMessage());
    }  }  public ResultSet executeQuery(String sql)
  {
    rs = null;
    try
    {
      conn = java.sql.DriverManager.getConnection(sConnStr,"sa","");
      stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);      rs = stmt.executeQuery(sql);
    }    catch(SQLException ex)
    {
      System.err.println("ebcmdb.executeQuery: " + ex.getMessage());
    }    return rs;
}  public void executeUpdate(String sql) throws SQLException {
    try {
        conn = java.sql.DriverManager.getConnection(sConnStr,"sa","");
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);        stmt.executeUpdate(sql);
    }
    catch (SQLException ex) {
        ex.printStackTrace();
        System.out.println("ebcmdb.executeUpdate:"+ex.getMessage());
        throw ex;
    }
  }  public void close() throws SQLException {
    if(rs!=null)
    rs.close();
    if(stmt!=null)
    stmt.close();
    if(conn!=null)
    conn.close();
   }}请问各位大虾们如何写最优化(能用最短的时间完成数据的插入).