Перейти к основному содержанию

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, поскольку sparse_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]))

Последнее изменение 10 июня 2026 г.