Cláusulas
IF NOT EXISTS
db_name ya existe, ClickHouse no crea una nueva base de datos y:
- No lanza una excepción si se especifica la cláusula.
- Lanza una excepción si no se especifica la cláusula.
ON CLUSTER
db_name en todos los servidores del clúster especificado. Encontrará más detalles en el artículo sobre Distributed DDL.
ENGINE
COMMENT
Query
Response
SETTINGS
lazy_load_tables
Atomic, Ordinary). Las vistas, las vistas materializadas, los diccionarios y las tablas respaldadas por funciones de tabla siempre se cargan de inmediato, independientemente de esta configuración.
Cuándo usarlo: Esta configuración es útil para bases de datos con una gran cantidad de tablas (cientos o miles) en las que solo se consulta activamente un subconjunto. Reduce el tiempo de inicio del servidor y el uso de memoria al posponer la creación de los objetos del motor de tabla, el análisis de las partes de datos y la inicialización de hilos en segundo plano hasta el primer acceso.
Impacto en system.tables:
- Antes de acceder a una tabla,
system.tablesmuestra su motor comoTableProxy. Después del primer acceso, muestra el nombre real del motor (p. ej.,MergeTree). - Columnas como
total_rowsytotal_bytesdevuelvenNULLpara las tablas no cargadas, porque el almacenamiento real todavía no se ha creado.
SELECT,INSERT,ALTERyDROPactivan de forma transparente la carga del motor de tabla real en el primer uso.RENAME TABLEfunciona sin activar la carga.- Una vez cargada, una tabla permanece cargada durante toda la vida útil del proceso del servidor.
- Las herramientas de monitorización que dependen de los metadatos de
system.tables(p. ej.,total_rows,engine) pueden mostrar información incompleta para las tablas no cargadas. - La primera consulta a una tabla no cargada conlleva un coste puntual de carga (analizar la instrucción
CREATE TABLEalmacenada e inicializar el motor).
0 (deshabilitado).