查询执行时间在NamedParameterJdbcTemplate中比mySql更多

时间:2017-10-27 06:03:00

标签: mysql spring spring-jdbc

我正在使用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

0 个答案:

没有答案