java 用JDBC向MYSQL中建立表,首先建立表有5000多张,然后才能插入数据,我自己写的程序用了40才搞定,
谁能给个高效的解决方案。(我也用了线程)。
在MYSQL命令行下,执行(建立5000张表)完成用不到10分钟。

解决方案 »

  1.   

    那就通过 Process 直接调 mysql 命令好了。
      

  2.   

    5000多张表的人来JAVA初级区,真的是牛人
      

  3.   

    用JDBC效率铁定不高.....Connection对象也算一巨人了....就算你及时关闭了连接,gc也不是说来就来的主....就我意见...曲线救国吧.....解析XML....写成Create Table的SQL语句,然后再扔到数据库里面执行......估计这样效率会高很多..就是需要拆成2步...
      

  4.   

    我的程序是两步,第一步解析XML,生成sql语句写入文件,然后再写入数据库解析时间只有几百ms,写入数据库用时比较多用了30多分钟。其实,1楼的办法不错,不过是我不知道知道写,我写的代码如下:程序不报错,但是数据库中没有数据啊。
    public class ProTest {
    public static void main(String[] args) {
    try {
                ////数据库为xml,密码为123456
    //建表文件为I:/asdtiang/eclipse worksapce/test/sqltable.sql
    String exe = "mysql -h localhost -u root -p " +
    "xml";
    String pw = "123456";
    String c="source I:/asdtiang/eclipse worksapce/test/sqltable.sql";
    String[] cmd = {"cmd",exe,pw,c};
    Process proc = Runtime.getRuntime().exec(cmd);
    System.out.println("OK");
    } catch (IOException e){
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }}
      

  5.   

    用存储过程或者批处理应该快点吧,不过你在mysql命令行下都用10分钟,用jdbc肯定不可能比这更快。