文档文档

优化查询

将数据写入您的集群后,您现在可以开始定义和测试您的典型查询模式,并采用优化措施以确保查询性能。

定义您的查询模式

了解您的典型查询模式有助于优先优化以满足您的查询性能要求。

例如,考虑以下问题

  • 您通常按特定的标签值查询数据吗?
    将自定义分区应用于您的目标数据库或表,以按这些标签进行分区。按常用查询标签进行分区有助于InfluxDB快速识别存储中相关数据的位置,并提高查询性能。
  • 您查询具有宽模式的表吗?
    避免在您的SELECT语句中使用通配符(*)。选择您想要在查询结果中返回的特定列。查询的列越多,查询性能越低。
  • 您查询大量历史时间范围吗?使用基于时间的聚合方法将数据降采样,并按时间间隔返回聚合值,而不是所有数据。

决定您的查询语言

InfluxDB Clustered同时支持SQLInfluxQL - 一种针对InfluxDB v1设计的类似SQL的查询语言,专门用于查询时间序列数据。

SQL

InfluxDB SQL实现是一个功能齐全的SQL查询引擎,由Apache DataFusion提供支持。它受益于一个强大的上游社区,该社区不断改进引擎的功能和性能。一些时间序列特定的查询(如基于时间的聚合)在SQL中的表达比在InfluxQL中更冗长,但它们仍然是可能的。

InfluxQL

InfluxQL专门设计用于时间序列数据,并简化了许多时间序列相关操作,如基于时间的聚合、技术分析和预测。它不像SQL那样功能全面,需要了解InfluxDB v1数据模型。

优化您的查询

查看查询优化和故障排除文档以获取指导信息和如何解决不符合预期的查询的故障排除和优化信息。

分析查询

SQL和InfluxQL都支持EXPLAINEXPLAIN ANALYZE语句,这些语句返回有关查询计划和执行的详细信息。这可以提供有关您可以为特定查询进行的可能优化方面的见解。有关更多信息,请参阅分析查询计划

自定义分区数据

InfluxDB Clustered允许您定义数据的存储方式,以确保查询性能。自定义分区自定义分区允许您定义InfluxDB如何分区数据,并可用于对数据进行结构化,以便InfluxDB更容易识别您通常查询的数据在存储中的位置。有关更多信息,请参阅管理数据分区

报告查询性能问题

如果您已经实施了查询优化,但查询仍未能满足性能要求,请按照报告查询性能问题中描述的过程进行,以便收集InfluxData工程师所需的信息,以便他们可以帮助识别任何潜在解决方案。


这个页面有帮助吗?

感谢您的反馈!


Flux的未来

Flux将进入维护模式。您可以在不更改代码的情况下继续按当前方式使用它。

阅读更多

InfluxDB v3增强功能及InfluxDB Clustered现已普遍可用

新功能包括更快的查询性能和管理工具,推动了InfluxDB v3产品线的进步。InfluxDB Clustered现已普遍可用。

InfluxDB v3性能和功能

InfluxDB v3产品线在查询性能方面进行了重大提升,并提供了新的管理工具。这些增强包括一个操作仪表板来监控您的InfluxDB集群的健康状况,InfluxDB Cloud Dedicated中的单点登录(SSO)支持,以及用于令牌和数据库的新管理API。

了解v3的新增强功能


InfluxDB集群版正式上市

InfluxDB集群版现已正式上市,并为您在自管理堆栈中提供了InfluxDB v3的强大功能。

与我们讨论InfluxDB集群版