Saltar al contenido principal

Tipos de layout del diccionario

Hay varias formas de almacenar diccionarios en memoria, cada una con sus propias compensaciones entre el uso de CPU y RAM.
Layouts recomendadosflat, hashed y complex_key_hashed ofrecen el mejor rendimiento de las consultas. Los layouts de caché no se recomiendan debido a su rendimiento potencialmente deficiente y a la dificultad de ajustar sus parámetros; consulta cache para más detalles.

Especificar el layout del diccionario

Si usa un diccionario con ClickHouse Cloud, utilice la opción de consulta DDL para crear sus diccionarios y cree el diccionario como el usuario default. Además, consulte la lista de orígenes de diccionario compatibles en la guía de compatibilidad de Cloud.
Puede configurar el layout de un diccionario con la cláusula LAYOUT (para DDL) o con el ajuste layout en las definiciones del archivo de configuración.

Véase también CREATE DICTIONARY para consultar la sintaxis DDL completa. Los diccionarios cuyo layout no contiene la palabra complex-key* tienen una clave de tipo UInt64; los diccionarios complex-key* tienen una clave compuesta (compleja, con tipos arbitrarios). Ejemplo de clave numérica (la columna key_column es de tipo UInt64):

Ejemplo de clave compuesta (la clave tiene un elemento de tipo String):

Mejorar el rendimiento de los diccionarios

Hay varias formas de mejorar el rendimiento de los diccionarios:
  • Llame a la función para trabajar con el diccionario después de GROUP BY.
  • Marque como inyectivos los atributos que se van a extraer. Un atributo se considera inyectivo si a claves distintas les corresponden valores de atributo distintos. Por lo tanto, cuando GROUP BY usa una función que obtiene un valor de atributo a partir de la clave, esta función se saca automáticamente de GROUP BY.
ClickHouse genera una excepción cuando se producen errores en los diccionarios. Algunos ejemplos de errores son:
  • No se pudo cargar el diccionario al que se intenta acceder.
  • Error al consultar un diccionario cached.
Puede ver la lista de diccionarios y sus estados en la tabla system.dictionaries.
Última modificación el 10 de junio de 2026