首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化postgres windows查询

优化postgres windows查询
EN

Database Administration用户
提问于 2017-09-09 13:47:35
回答 1查看 58关注 0票数 1

这个查询太慢,我需要一些指导。

代码语言:javascript
复制
SELECT DISTINCT ON (id)
  id,
  views - lead(views)
  OVER (PARTITION BY id
    ORDER BY update_date DESC) vdiff
FROM videoupdate;

有10行million+,大约需要30秒。我创建了一个多颜色索引,它将原来的时间从1分钟减少到现在。我希望看到由id分区的每一行的视图之间的差异。我有一些想法:

  • 在表更新之后,创建表,就像查询一样,并从中选择。
  • 将旧数据移动到备份和收缩表。
  • 查数据仓库?
  • 更改数据库模式?
EN

回答 1

Database Administration用户

发布于 2017-09-09 16:46:13

再次遵循@a_ smart _with_no_name的建议,因为他非常聪明,尽管他非常聪明,对使用Post您的回答功能具有超强的弹性。

代码语言:javascript
复制
SELECT DISTINCT ON(id),
  id,
  views - lead(views) OVER (PARTITION BY id ORDER BY update_date DESC) AS vdiff
FROM (
  SELECT id,
    views,
    update_desc,
    row_number() OVER (PARTITION BY id ORDER BY update_date DESC) AS rn
  FROM videoupdate
) AS t
WHERE rn <=2
ORDER BY id, update_desc DESC;
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/185501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档