
# 常见问题
1. 现象：客户使用spring框架时，连接串中设置fetchsize之后，查询过程中存在OutOfMemoryError的报错。 原因**：**执行批量查询时没有开启事务，因为一般连接的事务由Spring进行管理，在事务未开启的情况下，数据库会一次将所有数据返回给JDBC
   处理方法：排查业务代码，确认在开启批量查询之前开启了事务。
   
2. 现象：连接串中设置fetchsize之后，查询过程中存在OutOfMemoryError的报错。 原因**：**应用代码的其他调用点内存占用较大，导致JDBC只读取少量数据就发生OutOfMemoryError。
   处理方法：通过jdk工具排查内存占用情况，判断是否是表数据导致的内存溢出。
   
3. 现象：通过gsql查询表很快，但是通过JDBC查询表速度很慢。 原因：连接串中配置了fetchsize，如果fetchsize的值比较小，遍历结果集的时候与内核的报文交互次数会过多，导致性能下降。
   处理方法：在执行查询操作时，提前根据表的大小决定是否开启事务，或者调用prepareStatement.setFetchSize()方法调整每次数据库返回的行数，如果调整为0，则一次性返回所有查询结果。
   
 
