Postgres DISTINCT查询运行缓慢



我有一个产品表,我试图为每个特定项目获取最新价格。提出了以下查询,但我觉得它非常简单,速度非常慢。该表有32000条记录,需要908ms才能完成。感觉我错过了一些简单的东西。

SELECT DISTINCT ON (itemsPrices.id) itemsPrices.id,
itemsPrices.price
FROM itemsPrices
ORDER BY itemsPrices.id, itemsPrices.timestamp DESC

最后一秒处理32k条记录还不错。

但是,您可以使用itemsPrices(id, timestamp desc, price)上的索引来加快速度。