GBase8s jdbc查询数据库时并不是一次性将结果全部放入jdbc的结果集里,而是按照一定的大小(默认4k)返回给jdbc,待jdbc处理完这批数据后再次发起fetch协议获取下一批次数据,直到数据获取完成。这样的好处就是客户端不会占用大量内存,即使查询结果为超大数据量也不会发生内存溢出的情况。但在某些情况下在客户端内存足够的情况下可能期望优化查询的性能,那么我们就可以通过一个参数配置需改一次返回的数据量大小,以减少通讯次数达到优化的目的。该参数说明如下:
FET_BUF_SIZE 默认值4096,单位字节,最大支持Int的最大值。
使用时建议根据内存,网络等因素酌情考虑。该参数仅是减少了通讯交互次数来提高性能。原则上肯定不是越大越好。
开启方式
Connection conn = DriverManager.getConnection( “jdbc:gbasedbt-sqli://localhost:9088
/csdk_db:GBASEDBTSERVER=ol_ids_1150_1;user=gbasedbt;password=******;
FET_BUF_SIZE=32000”);
如上只需在url上添加参数FET_BUF_SIZE=xxx即可,xxx单位字节。