GBase 8a
性能调优
文章

8a批量insert的JDBC样例

发表于2025-12-24 14:18:1277次浏览0个评论

由于GBase8a是列式存储,表锁,对于一条一条的insert处理非常慢,因此需要攒批处理,攒批insert的JDBC样例如下:

 

package testsuite.simple.myCase.batchinsert;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

public class InsertTest {

public static void main(String[] args) {

//批量插入开启rewriteBatchedStatements=true参数可以重写insert语句,提高性能

String url="jdbc:gbase://192.168.5.85:5258/bht?user=gbase&password=gbase20110531&rewriteBatchedStatements=true";

try {

Class.forName("com.gbase.jdbc.Driver");

Connection conn = DriverManager.getConnection(url);

String sql="insert into fulltype (aint,bfloat,cdouble) values(?,?,?)";

PreparedStatement pst = conn.prepareStatement(sql);

for(int i=0;i<100;i++){

pst.setInt(1, i);

pst.setFloat(2, i);

pst.setDouble(3,i);

pst.addBatch();

if(i%50==0){

//根据实际使用,修改多少条一提交

pst.executeBatch();

pst.clearBatch();

}

}

pst.executeBatch();

} catch (Exception e) {

e.printStackTrace();

}

}

}

评论

登录后才可以发表评论