
# 性能问题
#### 在processResult阶段耗时
设置loglevel=3，打开JDBC日志，主要耗时在processResult阶段，可分为两种情况：
1. JDBC端等待数据库返回的报文时间过长。 **问题分析**：用户可查看FE=\> Sync日志和\<=BE ParseComplete日志之间的时间间隔，如果时间间隔较久，则判断为数据库执行慢。
   **处理方法** ：分析SQL执行慢的原因，详情可参见[SQL执行很慢，性能低，有时长时间运行未结束](https://support.huaweicloud.com/trouble-dws/dws_09_0041.html)。
   
2. 结果集过大，一次性全部加载，消耗大量时间。 **问题分析** ：查看日志，如果\<=BE DataRow日志出现次数过多，或直接执行**SELECT** **count(\*);**查询结果数目过大，则判断为结果集过大。
   **处理方法**：设置fetchSize参数为一个较小的值，使数据按批次返回，客户端得到快速响应。
   ```
   statement.setFetchSize(10);
   ```
   
 
#### 在modifyJdbcCall和createParameterizedQuery阶段耗时
**问题分析**：如果主要耗时在modifyJdbcCall阶段（校验传入的SQL是否符合规范）和createParameterizedQuery阶段（将传入的SQL解析为preparedQuery，以获取由simplequery组成的subqueries），则需要确认是否传入的SQL过长导致。
**处理方法** ：JDBC本身没办法优化这部分耗时，可在应用端查看是否可优化传入的SQL语句，详情可参见[SQL语句改写规则](https://support.huaweicloud.com/devg-dws/dws_04_0452.html)。
