GBase 8a 支持JAVA JDBC里面的预编译方式PrepareStatment 的BatchInsert, 其中的批量大小取决于是否开启了GBase JDBC驱动特殊的rewriteBatchedS tatements参数。如开启则限制是SQL的长度,如未开启则限制为gbase_buffer_insert参数的大小。
目录导航
开参数情况
有关批量提交BatchInsert 的rewriteBatchedS tatements细节,请参考
其实质是将多条insert values拼接成一个insert values (),(),()的格式,一次性下发一个SQL,来提高性能。
未打开参数
则数据库,会将数据缓冲到连接节点的gcluster服务内,其配置参数为
gbase_buffer_insert
其默认值一般是256M,且如果有多个并发insert, 则共享这个内存。当提交时,再将数据真正insert到数据节点内。
总结
批量insert 可以提高入库性能,但GBase 优选的入库方式是LOAD, 其次是打开rewriteBatchedS tatements参数。
有关LOAD的介绍,请参考
《南大通用GBase 8a JDBC采用Prepare 方式批量提交的行数限制和gbase_buffer_insert参数》有1条评论
评论已关闭。