更新时间:2025-09-04 GMT+08:00

常见问题

  1. 现象:客户使用spring框架时,连接串中设置fetchsize之后,查询过程中存在OutOfMemoryError的报错。

    原因执行批量查询时没有开启事务,因为一般连接的事务由Spring进行管理,在事务未开启的情况下,数据库会一次将所有数据返回给JDBC

    处理方法:排查业务代码,确认在开启批量查询之前开启了事务。

  2. 现象:连接串中设置fetchsize之后,查询过程中存在OutOfMemoryError的报错。

    原因应用代码的其他调用点内存占用较大,导致JDBC只读取少量数据就发生OutOfMemoryError。

    处理方法:通过jdk工具排查内存占用情况,判断是否是表数据导致的内存溢出。

  3. 现象:通过gsql查询表很快,但是通过JDBC查询表速度很慢。

    原因:连接串中配置了fetchsize,如果fetchsize的值比较小,遍历结果集的时候与内核的报文交互次数会过多,导致性能下降。

    处理方法:在执行查询操作时,提前根据表的大小决定是否开启事务,或者调用prepareStatement.setFetchSize()方法调整每次数据库返回的行数,如果调整为0,则一次性返回所有查询结果。