key -> attributes) útil para vários tipos de listas de referência.
O ClickHouse oferece funções especiais para trabalhar com dicionários que podem ser usadas em consultas. Usar dicionários com funções é mais fácil e mais eficiente do que fazer um JOIN com tabelas de referência.
Os dicionários podem ser criados de duas formas:
- Com uma consulta DDL (recomendado)
- Com um arquivo de configuração
Criando um Dicionário com uma consulta DDL
- Nenhum registro adicional é adicionado aos arquivos de configuração do servidor.
- Os dicionários podem ser usados como entidades de primeira classe, como tabelas ou views.
- Os dados podem ser lidos diretamente, usando a sintaxe familiar de
SELECTem vez de funções de tabela de dicionário. Observe que, ao acessar um dicionário diretamente por meio de uma instruçãoSELECT, um dicionário em cache retornará apenas os dados armazenados em cache, enquanto um dicionário sem cache retornará todos os dados que armazena. - Os dicionários podem ser renomeados facilmente.
Sintaxe
| Cláusula | Descrição |
|---|---|
| Atributos | Os atributos do dicionário são especificados de forma semelhante às colunas de uma tabela. A única propriedade obrigatória é o tipo; todas as outras podem ter valores padrão. |
| PRIMARY KEY | Define a(s) coluna(s)-chave para buscas no dicionário. Dependendo do layout, um ou mais atributos podem ser especificados como chaves. |
SOURCE | Define a fonte de dados do dicionário (por exemplo, tabela do ClickHouse, HTTP, PostgreSQL). |
LAYOUT | Controla como o dicionário é armazenado em memória (por exemplo, FLAT, HASHED, CACHE). |
LIFETIME | Define o intervalo de atualização do dicionário. |
ON CLUSTER | Cria o dicionário em um cluster. Opcional. |
SETTINGS | Configurações adicionais do dicionário. Opcional. |
COMMENT | Adiciona um comentário ao dicionário. Opcional. |
Criando um dicionário com um arquivo de configuração
Criar um dicionário com um arquivo de configuração não se aplica ao ClickHouse Cloud. Use DDL (veja acima) e crie o dicionário como o usuário
default.- Layouts — Como os dicionários são armazenados na memória
- Fontes — Conexão com fontes de dados
- Tempo de vida — Configuração de atualização automática
- Atributos — Configuração de chave e atributos
- Dicionários incorporados — Dicionários geobase integrados
- system.dictionaries — Tabela de sistema com informações sobre dicionários