java - Statement.executeQuery() 花费太多时间。有什么办法可以优化这个吗?我正在使用雅典娜数据库

标签 java sql amazon-athena

Statement.excecuteQuery() 花费太多时间,无论查询是什么。

athenaQuery = "SELECT DISTINCT date " +
              "FROM sid.lvmh_shareofshelf_new_cat_all_dod "+
              "where scope='PCD' and date!='' and country='" + countryName+ "' " + 
              "and rname='" + rname + "' and  top_category_lvmh='" +  top_category_lvmh + 
              "' ORDER BY date DESC";
stmt = conn.createStatement();
long startTime = System.nanoTime();
rs = stmt.executeQuery(athenaQuery);
long endTime = System.nanoTime();
System.out.println("Total time taken : "+ (endTime - startTime));

所用时间为 2776930359 纳秒(2.776930359 秒)

最佳答案

我不知道你的项目的内部结构。我建议一些对您有帮助的事情。

  • 创建准备语句而不是每次都编译。准备带参数的查询。这是您可以做的语法级别优化。
  • 每次需要Where子句参数时,都可以为其创建索引。这是数据库级别的优化。

比尝试看看性能提高!!

关于java - Statement.executeQuery() 花费太多时间。有什么办法可以优化这个吗?我正在使用雅典娜数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49399761/

相关文章:

java - 如何测试 JAX-WS Web 服务的启动和运行(从 servlet)

java - Hibernate Session.save() 不返回值?

datasource - 具有 Athena 自定义查询的 Tableau 数据源

java - 选择这些 : django + smartGWT seems like the good way to go? 吗

mysql - 使用插入时使用触发器更新数据库

sql - 如何以我想要的格式获取此时间戳,Oracle SQL

SQL——删除重复对

sql - 如何摆脱此错误 :Column alias list has 1 entries but 't' has 4 columns available while creating a view on top of a view in AWS athena?

amazon-web-services - AWS Athena JDBC PreparedStatement

java - 如何使用java打印第二天