Influx 数据库限制

Influx 数据库有特殊限制,本节将介绍这些限制。
有关更多信息,请参见https://docs.influxdata.com/influxdb/v2/query-data/influxql/

SQL 支持

Influx 数据库不直接支持 SQL。解析器将 SQL 查询转换为基于 Influx 的查询语言。仅支持特定的 SQL 命令。有关 SQL 查询的更多信息,请参见SQL 查询
SQL 和 InfluxQL 比较
功能
SQL
InfluxQL
WHERE 子句
Yes
Yes
GROUP BY 子句
Yes
不受支持
ORDER BY 子句
Yes
部分支持:仅支持 ORDER BY 时间。请参见https://docs.influxdata.com/influxdb/v2/query-data/influxql/explore-data/order-by/
HAVING
Yes
不受支持
LIMIT 和 SLIMIT 子句
Yes
Yes
OFFSET 和 SOFFSET 子句
Yes
Yes
EXTRACT 子句
Yes
不受支持
CHAR_LENGTH 子句
Yes
不受支持
时区查询
不受支持
不受支持
子查询
Yes
Yes
正则表达式
不受支持
不受支持
CREATE 语句
部分支持
不受支持
UPDATE 语句
Yes
不受支持
DELETE 语句
Yes
部分支持:查询需要 FROM 子句和/或 WHERE 子句。DELETE 不支持 WHERE 子句中的字段(列)。请参见https://docs.influxdata.com/influxdb/v2/query-data/influxql/manage-data/#delete-series-with-delete
DROP 语句
部分支持
别名
AS 表别名
Yes
不受支持
AS 列别名
Yes
Yes
JOIN 子句
INNER 联接
Yes
不受支持
OUTER 联接
Yes
不受支持
CROSS 联接
Yes
不受支持
运算符
<、>、=、!=(比较运算符)
Yes
Yes
AND、OR(逻辑运算符)
Yes
Yes
NOT、IN、IS NULL、LIKE、EXISTS
Yes
不受支持
BETWEEN
Yes
Yes
函数
窗口函数:ROW_NUMBER、RANK 和 DENSE_RANK
Yes
不受支持
聚合函数:COUNT、MIN、MAX、AVG、SUM
Yes
部分支持:
  • InfluxDB 不支持在 COUNT、MIN、MAX、AVG、SUM 中使用 ALL
  • InfluxDB 不支持在 MIN、MAX、AVG、SUM 中使用 DISTINCT

其他限制

  • 不支持将 INSERT 语句作为 SQL 查询的一部分。要向数据库表中插入数据,必须使用专用的 INSERT 方法
  • Influx 数据库对时间数据很敏感。为了保持数据一致性,源设备和数据库设备上的时间必须同步。具有相同时间戳的数据记录会被 Influx 覆盖,因此必须仔细设计数据库端的数据结构。
  • Influx 可能不会为名为
    time
    (这是一个受限制的短语)的自定义列添加记录。
  • STATUS
    变量与 Influx 数据库无关,因为连接仅在传输数据时才处于活动状态。
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈