当前位置:  开发笔记 > 数据库 > 正文

Groovy中的sql.rows()运行缓慢

如何解决《Groovy中的sql.rows()运行缓慢》经验,为你挑选了0个好方法。

我正在支持Grails Web应用程序,该应用程序使用AmCharts为客户端显示不同的视觉效果.在其中一个选项卡上有三个图表,每个图表根据不同的度量从数据库中返回前十个,因此只有十行.完成需要4-5次甚至更长时间.查询在10秒内在DB上运行.

调用以下服务方法以返回结果:

List fetchTopPages(params, Map querySettings, String orderClause) {
    if(!((params['country'] && params['country'].size() > 0) || (params['brand'] && params['brand'].size() > 0) || (params['url'] && params['url'].size() > 0))) {
        throw new RuntimeException('Filters country or brand or url not selected.')
    }
    Sql sql = new Sql(dataSource)
    sql.withStatement { stmt -> stmt.fetchSize = 100 }
    Map filterParams = acquisitionService.getDateFilters(params, querySettings)
    ParamUtils.addWhereArgs(params, filterParams)
    String query = "This is where the query is"

    ParamUtils.saveQueryInRequest(ParamUtils.prettyPrintQuery(query, filterParams))
    log.debug("engagement pageviews-by-source query: " + ParamUtils.prettyPrintQuery(query, filterParams))
    List rows = sql.rows(query, filterParams)
    rows

}

经过一些调查后,显然该List rows = sql.rows(query, filterParams)线路占用了这个加载时间.

有没有人在此之前表达过这个问题?为什么sql.rows()只返回10行结果,并且查询在DB端运行超快?

附加信息:

DB:FSL1D

在DB端运行以下命令:java -jar ojdbc5.jar - getversion返回:"在Thu_Jul_11_15上使用JDK5编译的Oracle 11.2.0.3.0 JDBC 3.0:41:55_PDT_2013默认连接属性资源Wed Dec 16 08:18:32 EST 2015"

Groovy版本:2.3.7 Grails版本:2.4.41 JDK:1.7.0

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有