0

数千/数十万行を 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();
    }
4

1 に答える 1

4

「LOAD DATA INFILE」クエリ タイプを使用して、データをデータベースにインポートしてみてください。jdbcでも可能だと思います。

于 2012-12-09T22:04:31.073 に答える