首页 > 解决方案 > 如何在 DBeaver 中查找执行时间而不是执行 + 获取

问题描述

在 PostgreSQL 中运行 SELECT 语句时,有什么方法可以查看 DBeaver 中的实际查询执行时间?我只X row(s) fetched - XXms在结果窗口中看到,我对基准测试目的感兴趣的是实际执行时间(不获取)。

标签: dbeaver

解决方案


EXPLAIN ANALYZE SELECT x FROM y

从 PostgreSQL 文档https://www.postgresql.org/docs/11/using-explain.html

EXPLAIN ANALYZE 显示的执行时间包括执行器启动和关闭时间,以及运行任何触发的触发器的时间,但不包括解析、重写或计划时间。执行 BEFORE 触发器(如果有)所花费的时间包含在相关的插入、更新或删除节点的时间中;但是那里不计算执行 AFTER 触发器所花费的时间,因为 AFTER 触发器是在整个计划完成后触发的。每个触发器(之前或之后)花费的总时间也单独显示。请注意,延迟约束触发器在事务结束之前不会执行,因此 EXPLAIN ANALYZE 根本不会考虑。

这是一种独立于客户端的评估查询执行时间的方法。


推荐阅读