文档文档

EXPLAIN 命令

EXPLAIN 命令返回指定 SQL 语句的逻辑计划物理计划

EXPLAIN [ANALYZE] [VERBOSE] statement

EXPLAIN

返回语句的逻辑计划和物理(执行)计划。要输出更多详细信息,请使用 EXPLAIN VERBOSE

EXPLAIN 不执行语句。要执行语句并查看运行时指标,请使用 EXPLAIN ANALYZE

EXPLAIN 示例

EXPLAIN
SELECT
  room,
  avg(temp) AS temp
FROM home
GROUP BY room

查看 EXPLAIN 示例输出

EXPLAIN ANALYZE

执行语句并返回语句的执行计划和运行时指标。该报告包括逻辑计划物理计划,并使用执行计数器、生成的行数以及查询执行期间采样的运行时指标进行注释。

如果计划需要读取大量数据文件,EXPLAINEXPLAIN ANALYZE 可能会截断报告中的文件列表。要输出更多信息,包括中间计划和所有扫描的 Parquet 文件的路径,请使用 EXPLAIN ANALYZE VERBOSE

EXPLAIN ANALYZE 示例

EXPLAIN ANALYZE
SELECT
  room,
  avg(temp) AS temp
FROM home
WHERE time >= '2023-01-01' AND time <= '2023-12-31'
GROUP BY room

查看 EXPLAIN ANALYZE 示例输出

EXPLAIN ANALYZE VERBOSE

执行语句并返回执行计划、运行时指标以及有助于调试语句的其他详细信息。

该报告包括以下内容:

  • 逻辑计划
  • 物理计划,并使用执行计数器、生成的行数以及查询执行期间采样的运行时指标进行注释
  • EXPLAIN 报告中截断的信息——例如,为查询检索的所有 Parquet 文件的路径。
  • DataFusion 和 Querier 在生成最终物理计划之前生成的所有中间物理计划——有助于调试以查看何时添加或删除 ExecutionPlan 节点,以及 InfluxDB 如何优化查询。

EXPLAIN ANALYZE VERBOSE 示例

EXPLAIN ANALYZE VERBOSE SELECT temp FROM home
WHERE time >= now() - INTERVAL '7 days' AND room = 'Kitchen'
ORDER BY time

此页是否对您有帮助?

感谢您的反馈!


Flux 的未来

Flux 即将进入维护模式。您可以继续像目前一样使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已发布公开 Alpha 版

InfluxDB 3 开源版本现已可用于 Alpha 测试,根据 MIT 或 Apache 2 许可获得许可。

我们正在发布两个产品作为 Alpha 版本的一部分。

InfluxDB 3 Core 是我们新的开源产品。它是一个用于时间序列和事件数据的最新数据引擎。InfluxDB 3 Enterprise 是一个商业版本,它建立在 Core 的基础上,增加了历史查询功能、读取副本、高可用性、可扩展性和细粒度的安全性。

有关如何开始使用的更多信息,请查看