Updated on 2024-08-10 GMT+08:00

Inserting ClickHouse Data

The table created in Creating a ClickHouse Table has three fields of the String, UInt8, and Date types.

String insertSql = "insert into " + databaseName + "." + tableName + " values (?,?,?)";
PreparedStatement preparedStatement = connection.prepareStatement(insertSql);
long allBatchBegin = System.currentTimeMillis();
for (int j = 0; j < batchNum; j++) {
    for (int i = 0; i < batchRows; i++) { 
       preparedStatement.setString(1, "huawei_" + (i + j * 10));
       preparedStatement.setInt(2, ((int) (Math.random() * 100)));
       preparedStatement.setDate(3, generateRandomDate("2018-01-01", "2021-12-31")); 
       preparedStatement.addBatch();
    }
   long begin = System.currentTimeMillis();
   preparedStatement.executeBatch();    
   long end = System.currentTimeMillis();
   log.info("Inert batch time is {} ms", end - begin);
}
long allBatchEnd = System.currentTimeMillis();
log.info("Inert all batch time is {} ms", allBatchEnd - allBatchBegin);