问题排查查询
问题排查 SQL 和 InfluxQL 查询,这些查询返回意外结果。
为什么我的查询没有返回数据?
如果查询未返回任何数据,则可能是由于以下原因:
您的数据落在查询的时间范围(或其他条件)之外——例如,InfluxQL
SHOW TAG VALUES
命令使用 1 天的默认时间范围。查询(InfluxDB 服务器)超时。
查询客户端超时。
客户端库不支持查询返回类型。例如,可能不支持数组或列表类型。在这种情况下,请使用
array_to_string()
将数组值转换为字符串——例如:SELECT array_to_string(array_agg([1, 2, 3]), ', ')
如果查询超时或返回错误,则可能是由于以下原因:
- 错误的请求
- 服务器或网络问题
- 查询的数据过多
了解 Arrow Flight 响应 和查询的错误消息。
优化缓慢或昂贵的查询
如果查询速度慢或使用过多的计算资源,请限制其查询的数据量。
请参阅如何 优化查询。
分析您的查询
使用以下工具来检索系统查询信息、分析查询执行情况并查找性能瓶颈:
请求帮助以排查查询问题
某些瓶颈可能源于次优的查询执行计划,并且超出您的控制范围——例如:
- 对已排序的数据进行排序 (
ORDER BY
) - 从对象存储中检索大量小型 Parquet 文件,而不是少量大型文件
- 查询许多重叠的 Parquet 文件
- 执行大量表扫描
如果您已按照步骤优化和排查查询问题,但仍未满足您的性能要求,请参阅如何报告查询性能问题。
此页面是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB 集群版和本文档的反馈和错误报告。要获得支持,请使用以下资源:
拥有年度或支持合同的客户可以联系 InfluxData 支持。