元数据查询用来做什么
InfluxDB 1.x 兼容层提供一组 SHOW 命令查看结构信息:有哪些库与测量、某个测量有哪些标签键与字段、标签有哪些取值、以及序列规模。排查「写进去的数据查不到」这类问题时,先看结构再写查询,通常能省掉大部分试错:名字拼错、标签值写偏、库选错都会在元数据查询里立刻暴露。
基本信息
| 库与测量 | SHOW DATABASES;SHOW MEASUREMENTS [ON db] |
|---|---|
| 标签 | SHOW TAG KEYS [FROM m];SHOW TAG VALUES FROM m WITH KEY = "host" |
| 字段 | SHOW FIELD KEYS FROM m(查看字段名与类型) |
| 序列 | SHOW SERIES [FROM m] [WHERE tag = value] |
| 保留策略 | SHOW RETENTION POLICIES ON "db" |
| 2.x 对应能力 | 通过兼容接口使用同名命令,或使用 schema 包函数查询测量与标签 |
典型使用场景
- 接手上线系统:先摸清有哪些测量与标签,再写业务查询
- 排查查询为空:确认测量名拼写、库名与标签值是否符合预期
- 核对写入格式:字段被写成标签或标签被写成字段时,SHOW 结果能直接看出来
- 评估序列规模:序列数量影响内存占用,扩容前先量化
- 对照字段类型:类型不一致的写入会被拒绝,先查字段类型避免盲试
常用命令
常用命令
SHOW DATABASES;
SHOW MEASUREMENTS ON "metrics";
SHOW TAG KEYS FROM "cpu";
SHOW TAG VALUES FROM "cpu" WITH KEY = "host"; -- 必须指定 KEY,否则返回量很大
SHOW FIELD KEYS FROM "cpu"; -- 确认字段名与类型
SHOW RETENTION POLICIES ON "metrics"; -- 保留策略与分片组时长命令对照
| 命令 | 返回内容 | 使用注意 |
|---|---|---|
| SHOW MEASUREMENTS | 测量列表 | 大实例上建议加 ON db 与 LIMIT |
| SHOW TAG KEYS | 标签键列表 | 配合 FROM 限定测量更快 |
| SHOW TAG VALUES | 标签取值 | 必须指定 KEY,否则结果集庞大 |
| SHOW FIELD KEYS | 字段名与类型 | 类型冲突的写入会失败,先用它核对 |
| SHOW SERIES | 序列清单 | 大基数实例上可能很慢甚至超时,务必加限定条件 |
先看结构再写查询是排查时序库问题的高效顺序:名字、标签取值与字段类型三类问题都能在元数据查询里直接确认。
SHOW SERIES 在标签基数大的实例上开销很高:先加 FROM 与 WHERE 收敛范围,避免在业务高峰期执行。