【发布时间】:2021-07-01 16:27:08
【问题描述】:
以下查询由 API 运行。单独运行几乎不需要任何时间,因为变量被有意限制为单个identifier 和一个小窗口。这是查询:
SELECT
raw_data->'foo'->0->>'time' as timestamp
FROM dbo.raw_data
WHERE raw_data->'foo'->0->>'number' = '${identifier}'
AND raw_data->'foo'->0->>'time' > '${queryStartDateEpoch}'
AND raw_data->'foo'->0->>'time' < '${queryEndDateEpoch}'
ORDER BY raw_data->'foo'->0->>'time' DESC
LIMIT 1
将为我的 API 提供的每个唯一系统编号运行一个查询。
我希望这个 API 可以同时运行 40 到 100 次这个查询。我看到的问题是前几个查询会立即运行,但在那之后性能下降,我最终要等待 20-30 分钟才能解决所有 40 多个查询。
谁能解释一下为什么 PostgreSQL 会这样变慢?谢谢。
我没有为 PostgreSQL 数据库设置 docker 服务器,并且对此的背景知识有限。我想您可以运行的查询数量是有限的,但我不清楚如何识别瓶颈。
【问题讨论】:
标签: javascript json postgresql