我正在使用Spring NamedParameterJdbcTemplate和我的sql.I我正在通过jbdc模板执行2个查询,它分别占用1.1和4秒。但同样的问题,如果我在我的sql中运行它分别需要0.5和1秒,我不明白可能是我的瓶颈。我的应用程序和数据库驻留在同一台服务器上,因此没有网络开销,我将我的连接池化。我可以说这是有效的,因为查询通过应用程序需要50毫秒的数据量较少。请让我知道可能是我的瓶颈
下面是我的namedjdbcTemplate代码
MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("organizationIds", list);
parameters.addValue("fromDate", fromDate);
parameters.addValue("toDate", toDate);
long startTime = System.currentTimeMillis();
List<MappingUI> list =namedParameterJdbcTemplate.query(QueryList.CALCULATE_SCORE,parameters,new RowMapper<MappingUI>() {
@Override
public MappingUI mapRow(ResultSet rs, int rowNum) throws SQLException {
MappingUI mapping= new MappingUI();
mapping.setCompetitor(rs.getInt("ID"));
mapping.setTotalRepufactScore(rs.getFloat("AVG_SCORE"));
return mapping;
}
});
下面是我的查询
SELECT AVG(SCORE.SCORE) AS AVG_SCORE,ANALYSIS.ID AS ID FROM SCORE SCORE,QC_ANALYSIS ANALYSIS WHERE SCORE.TAG_ID = ANALYSIS.ID AND ANALYSIS.ORGANIZATION_ID IN (:organizationIds) AND DATE(ANALYSIS.DATES) BETWEEN DATE(:fromDate) AND DATE(:toDate) GROUP BY ANALYSIS.ORGANIZATION_ID