文档文档

EXPLAIN 命令

InfluxDB 3 Core 处于公开 Alpha 阶段

InfluxDB 3 Core 处于公开 alpha 阶段,可用于测试和反馈,但不适用于生产环境。产品和本文档都在不断完善中。我们欢迎并鼓励您提供关于 alpha 体验的反馈,并邀请您加入我们的公共渠道以获取更新和分享反馈。

Alpha 阶段的预期和建议

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 的基础上,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度的安全性。

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