UUID
通用唯一识别码 (UUID) 是一个 16 字节的值,用于标识记录。有关 UUID 的详细信息,请参见 Wikipedia。
虽然存在不同的 UUID 变体(见 here),但 ClickHouse 不会验证插入的 UUID 是否符合特定变体。 UUID 在内部被视为 16 个随机字节的序列,在 SQL 层面上采用 8-4-4-4-12 表示法。
示例 UUID 值:
默认的 UUID 为全零。当插入新记录但未指定 UUID 列的值时使用:
由于历史原因,UUID 按其后半部分排序。 因此,不应直接在表的主键、排序键或分区键中使用 UUID。
示例:
结果:
作为解决方法,可以将 UUID 转换为具有直观排序顺序的类型。
使用转换为 UInt128 的示例:
结果:
生成 UUIDs
ClickHouse 提供了 generateUUIDv4 函数来生成随机的 UUID 版本 4 值。
使用示例
示例 1
此示例演示了创建一个具有 UUID 列的表以及向表中插入值。
结果:
示例 2
在此示例中,插入记录时未指定 UUID 列值,即插入默认的 UUID 值: