Java 将数千行插入mysql数据库的最快方法?

Java 将数千行插入mysql数据库的最快方法?,java,mysql,optimization,Java,Mysql,Optimization,有人能推荐最快的方法将数千行/数十万行插入mysql表吗?现在我正在使用executeBatch,但我想知道是否有更快的方法来实现它 try { Connection con = dataSource.getConnection(); Statement statement = con.createStatement(); for(int i = 0; i < value; i++) { DateTime f =

有人能推荐最快的方法将数千行/数十万行插入mysql表吗?现在我正在使用executeBatch,但我想知道是否有更快的方法来实现它

try {
        Connection con = dataSource.getConnection();
        Statement statement = con.createStatement();


        for(int i = 0; i < value; i++) {
            DateTime f = DateTime.now().minusDays(i % 28);
            String q1 = "INSERT INTO table1_test (txid, time, badgeid, event_type, sensorid, shift, unitid) VALUES ('"+i+"', '"+f.toString("yyyy-MM-dd HH:mm:ss")+"', 'NA', 'EN', '100', 'A', '1')";
            String q2 = "INSERT INTO table2_test (txid, time, badgeid, sensorid, shift, unitid) VALUES ('"+i+"', '"+f.toString("yyyy-MM-dd HH:mm:ss")+"', 'NA', '100', 'A', '1')";
            String q3 = "INSERT INTO table3_test (txid, badgeid, time, shift, compliant, sensorid, unitid) VALUES ('"+i+"', 'NA', '"+f.toString("yyyy-MM-dd HH:mm:ss")+"', 'A', 1, '100', '1')";
            statement.addBatch(q1);
            statement.addBatch(q2);
            statement.addBatch(q3);
        }
        statement.executeBatch();
        statement.close();
        con.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
试试看{
Connection con=dataSource.getConnection();
语句Statement=con.createStatement();
for(int i=0;i
尝试使用“加载数据填充”查询类型将数据导入数据库。我认为,使用jdbc也应该是可能的。

尝试使用“加载数据填充”查询类型将数据导入数据库。我认为,jdbc也可以这样做。

考虑在一个insert语句中将多行合并到同一个表中。否则,准备好的语句就是你的方法。考虑在一个INSERT语句中将多行合并到同一表中。否则,准备好的语句就是您的选择。加载数据填充不是复制安全的。最好的办法可能是批量插入。加载数据填充不是复制安全的。最好的办法可能是批量插入。