我可以加快这个子查询嵌套的PostgreSQL查询

时间:2017-01-12 05:43:25

标签: sql postgresql

我有以下PostgreSQL代码(它可以工作,但很慢),我用它来创建一个物化视图,但它很慢,并且代码长度对于多个子查询来说似乎很麻烦。无论如何,我可以提高此代码执行或重写的速度,以便更短更容易维护吗?

processEvents()

我得到的输出是每个气象站(station_num& station_name)的一行以及日期和时间。记录天气变量的月份(avg_bom_fdi)。保留月份值并将其转换为名称,以便绘制图表上每月平均值的值。我还提取了该站记录存在的总年数(record_years)以及该数据集的完整程度(per_datset)的百分比。这些都来自第二个子查询(t2)。第一个子查询(t)用于平均每天的数据并返回每日最大值,平均值和95/99百分位数。

2 个答案:

答案 0 :(得分:0)

我认为您需要阅读有关执行计划的内容。了解与您一起查询的内容是一种很好的方式。 我向您推荐了有关此问题的文档 - LINK

答案 1 :(得分:0)

  • 我同意在此处运行解释计划/执行计划 查询。
  • 此外,如果不需要,请按
  • 删除订单
  • 如果你看到很多 在审查执行计划时花在获取特定值上的时间, 尝试在该特定列上创建索引。
  • 取决于高 如果您决定使用索引,则可以创建B-Tree或Bit Map索引。