程序里的SQL、mybatis下的查询慢的优化方法(非SQL语句优化)

如果程序的SQL本身资源计划已经调到最优,但后台的查询语句依旧慢的可怜,这个可以检查一下数据库连接池的配置是否可以进行以下优化:

关键是优化结果集遍历这一块:rs.setFetchSize(1000);

1、基于jdbc的后台查询慢,可以尝试设置fetchSize的大小以限制每次从数据库获取结果集的大小:

 
  

String sql = "SELECT * FROM ABC";

PreparedStatement pstmt = conn.prepareStatement(sql);

//批量从服务器接收数据

pstmt.setFetchSize(1000);

ResultSet rs = pstmt.executeQuery();

//这里对结果集的优化效率提升比较明显:批量从结果集里获取获取数据,循环获取,直到全部获取完

rs.setFetchSize(1000);


2、基于mybatis的*.mapper.xml配置文件:

针对某些大数据量的sql查询,设置适当的fetchSize大小以此优化查询效率

 
  
 
  
  

你可能感兴趣的:(mysql数据库)