在 TDengine 中,超级表与普通表在数据模型和查询语义上有哪些关键差异?请说明各自的设计用途。
考察说明
考查对 TDengine 表与超级表核心概念及适用场景的理解。
回答思路
- 【回答框架 1】普通表是独立的数据表,拥有固定的 schema,不与任何标签关联;超级表是一组具有相同 schema 的表的抽象集合,额外包含一到多个标签列,用于描述采集设备的静态属性。
- 【回答框架 2】超级表通过标签列实现动态分区,查询时可按标签过滤或聚合多个子表,而普通表只能按自身时间戳和列进行查询,无法跨表统一处理。
- 【回答框架 3】超级表适合管理大量结构相同的设备数据,每个设备对应一张子表,便于按设备独立写入和查询;普通表适用于少量、结构独立的场景。
- 【关键点 1】超级表包含标签列,普通表没有。
- 【关键点 2】超级表可聚合多个子表,普通表只针对单表。
- 【关键点 3】超级表主要用于设备数据管理,普通表用于孤立数据存储。
- 【易错点 1】不能把超级表理解为物化视图,它是逻辑抽象,不代表物理存储合并。
- 【易错点 2】子表必须与超级表 schema 完全一致,标签值可不同。