跳转到主要内容

hashed

该字典以哈希表形式完整存储在内存中。字典可包含任意数量、使用任意标识符的元素。实际使用中,键的数量可达到数千万级别。 字典键的类型为 UInt64 支持所有类型的数据源。更新时,会完整读取全部数据 (来自文件或表) 。 配置示例:
LAYOUT(HASHED())

带设置项的配置示例:
LAYOUT(HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

sparse_hashed

hashed 类似,但会以增加 CPU 使用为代价来降低内存占用。 字典键的类型为 UInt64 配置示例:
LAYOUT(SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

这种类型的字典也可以使用 shards;而且由于 sparse_hashed 速度更慢,这一点相比 hashed 更为重要。

complex_key_hashed

这种存储类型适用于复合。与 hashed 类似。 配置示例:
LAYOUT(COMPLEX_KEY_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

complex_key_sparse_hashed

这种存储类型用于复合,与 sparse_hashed 类似。 配置示例:
LAYOUT(COMPLEX_KEY_SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

最后修改于 2026年6月10日