这个查询太慢,我需要一些指导。
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分区的每一行的视图之间的差异。我有一些想法:
发布于 2017-09-09 16:46:13
再次遵循@a_ smart _with_no_name的建议,因为他非常聪明,尽管他非常聪明,对使用Post您的回答功能具有超强的弹性。
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;https://dba.stackexchange.com/questions/185501
复制相似问题