复合数据类型#

MAP 类型#

包含 key-value pair 的 map 类型。

Syntax

MAP < KEY, VALUE >

Example

-- 使用 map function 构造 map 数据类型,参数 1-N 表示 key1, value1, key2, value2, ...
select map (1, "12", 2, "100")
-- {1: "12", 2: "100"}

-- 用 [] operator 抽取特定 key 的 value
select map (1, "12", 2, "100")[2]
-- "100"

限制

  1. 由于采用行存储形式,不建议表的 MAP 类型存储 key-value pair 特别多的情况,否则可能导致性能问题。

  2. map 数据类型不支持作为索引的 key 或 ts 列,无法对 map 列特定 key 做查询优化。

  3. map key-value 查询最多消耗 O(n) 复杂度

  4. 目前暂未支持查询结果直接输出 map 类型,但可以用 map 相关的表达式得到关于 map 值的基本类型结果,例如用 [] 获取 map<int,int> 中特定 key 的 value。