Alb*_*bac 6 postgresql query-planner
我提出这样的问题
EXPLAIN (ANALYZE ,BUFFERS )
SELECT COUNT(id) q, day
FROM my_table
WHERE role_id && ARRAY[15, 17]
GROUP BY "day"
ORDER BY "day" DESC;
Run Code Online (Sandbox Code Playgroud)
Postgres用这个回复我:
规划时间:0.286 ms
执行时间:127.233 ms
为什么是这样 ?我认为差异太大了
Gab*_*ger 30
我认为对你的误解很小.我试着简要描述运行查询时发生了什么:
EXPLAIN
命令打印您对该过程的描述.现在:
EXPLAIN
输出是花在步骤3-4的时间服务器.EXPLAIN
输出时间花在服务器步骤2只.我相信你认为它是"时间规划者认为查询需要",但这可以称为"计划[执行]时间"或"估计执行时间".因此,没有理由为什么计划时间和执行时间差应该更小.PostgreSQL希望缩短计划时间,以最大限度地减少对整个执行时间的影响.
所有内容都是用手册写的.
注意:执行时间不包括计划时间,您可以尝试explain analyse select 1
查看案例 PlanningTime>ExecutionTime
.
归档时间: |
|
查看次数: |
7767 次 |
最近记录: |