首页 > 解决方案 > 我必须从数据库中获取超过 5000 条记录。我的查询需要大约 3 分钟的时间。如何提高代码性能

问题描述

我正在使用 spring jdbc 模板连接到 oracle 数据库。我正在使用 rowmapper 将我的查询结果集映射到 java 对象。这需要时间。请就此提出建议。我怎样才能提高性能。

public class DCLMDRMLombardMapper implements RowMapper<MDRMData> {
    public MDRMData mapRow(ResultSet resultSet, int i) throws SQLException {
        MDRMData mdrmData = new MDRMData(
                resultSet.getString("NAME"),
                resultSet.getString("SCHED_NM"),
                resultSet.getInt("SEQ"),
                resultSet.getString("AMOUNT") ,
                resultSet.getInt("RPT_DT_ID"),
                resultSet.getString("RECORD_ID")`strong text`
                );
        LOGGER.debug("Return from mapper  " + mdrmData.toString());
        return mdrmData;
    }
}

标签: springresultsetjdbctemplate

解决方案


  1. 5000 条记录仍然“没有”并且不应该花费 3 分钟,除非您有一些严重低效的 SQL。
  2. 您需要将您的 SQL 查询、表格设计和行映射器放在这里,以便我们为您提供更好的答案。

推荐阅读