Pular para o conteúdo principal

hashed

O dicionário é armazenado inteiramente na memória na forma de uma tabela hash. O dicionário pode conter qualquer quantidade de elementos com quaisquer identificadores. Na prática, o número de chaves pode chegar a dezenas de milhões de itens. A chave do dicionário é do tipo UInt64. Todos os tipos de fontes são compatíveis. Ao atualizar, os dados (de um arquivo ou de uma tabela) são lidos por inteiro. Exemplo de configuração:
LAYOUT(HASHED())

Exemplo de configuração com parâmetros:
LAYOUT(HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

sparse_hashed

Semelhante a hashed, mas usa menos memória em troca de maior uso de CPU. A chave do dicionário é do tipo UInt64. Exemplo de configuração:
LAYOUT(SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

Também é possível usar shards com esse tipo de dicionário e, novamente, isso é mais importante para sparse_hashed do que para hashed, já que sparse_hashed é mais lento.

complex_key_hashed

Esse tipo de armazenamento é usado com chaves compostas. Semelhante a hashed. Exemplo de configuração:
LAYOUT(COMPLEX_KEY_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

complex_key_sparse_hashed

Este tipo de armazenamento é usado com chaves compostas. É semelhante a sparse_hashed. Exemplo de configuração:
LAYOUT(COMPLEX_KEY_SPARSE_HASHED([SHARDS 1] [SHARD_LOAD_QUEUE_BACKLOG 10000] [MAX_LOAD_FACTOR 0.5]))

Última modificação em 10 de junho de 2026