Cláusulas
IF NOT EXISTS
db_name já existir, o ClickHouse não cria um novo banco de dados e:
- Não lança uma exceção se a cláusula for especificada.
- Lança uma exceção se a cláusula não for especificada.
ON CLUSTER
db_name em todos os servidores do cluster especificado. Veja mais detalhes no artigo sobre DDL distribuído.
ENGINE
COMENTÁRIO
Query
Response
CONFIGURAÇÕES
lazy_load_tables
Atomic, Ordinary). Views, visões materializadas, dicionários e tabelas baseadas em funções de tabela são sempre carregados imediatamente, independentemente dessa configuração.
Quando usar: Essa configuração é útil para bancos de dados com um grande número de tabelas (centenas ou milhares), em que apenas um subconjunto é consultado ativamente. Ela reduz o tempo de inicialização do servidor e o uso de memória ao adiar a criação de objetos do motor de tabela, a varredura de partes de dados e a inicialização de threads em segundo plano até o primeiro acesso.
Impacto em system.tables:
- Antes de uma tabela ser acessada,
system.tablesmostra seu motor comoTableProxy. Após o primeiro acesso, passa a mostrar o nome real do motor (por exemplo,MergeTree). - Colunas como
total_rowsetotal_bytesretornamNULLpara tabelas não carregadas porque o armazenamento real ainda não foi criado.
SELECT,INSERT,ALTER,DROPdisparam automaticamente o carregamento do motor de tabela real no primeiro uso.RENAME TABLEfunciona sem disparar um carregamento.- Depois que uma tabela é carregada, ela permanece carregada por toda a duração do processo do servidor.
- Ferramentas de monitoramento que dependem dos metadados de
system.tables(por exemplo,total_rows,engine) podem exibir informações incompletas para tabelas não carregadas. - A primeira consulta a uma tabela não carregada tem um custo único de carregamento (análise da instrução
CREATE TABLEarmazenada e inicialização do motor).
0 (desabilitado).