Tipos de layout del diccionario
| Layout | Descripción |
|---|---|
| flat | Almacena los datos en arrays planos indexados por clave. Es el layout más rápido, pero las claves deben ser UInt64 y estar limitadas por max_array_size. |
| hashed | Almacena los datos en una tabla hash. No hay límite en el tamaño de las claves y admite cualquier número de elementos. |
| sparse_hashed | Como hashed, pero reduce el uso de memoria a cambio de más CPU. |
| complex_key_hashed | Como hashed, para claves compuestas. |
| complex_key_sparse_hashed | Como sparse_hashed, para claves compuestas. |
| hashed_array | Atributos almacenados en arrays con una tabla hash que asigna las claves a índices del array. Eficiente en memoria cuando hay muchos atributos. |
| complex_key_hashed_array | Como hashed_array, para claves compuestas. |
| range_hashed | Tabla hash con rangos ordenados. Admite búsquedas por clave + rango de fecha/hora. |
| complex_key_range_hashed | Como range_hashed, para claves compuestas. |
| cache | Caché en memoria de tamaño fijo. Solo se almacenan las claves a las que se accede con frecuencia. |
| complex_key_cache | Como cache, para claves compuestas. |
| ssd_cache | Como cache, pero almacena los datos en SSD con un índice en memoria. |
| complex_key_ssd_cache | Como ssd_cache, para claves compuestas. |
| direct | Sin almacenamiento en memoria: consulta el origen directamente para cada solicitud. |
| complex_key_direct | Como direct, para claves compuestas. |
| ip_trie | Estructura trie para búsquedas rápidas de prefijos IP (basadas en CIDR). |
Especificar el layout del diccionario
LAYOUT (para DDL) o con el ajuste layout en las definiciones del archivo de configuración.
- DDL
- 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):
- DDL
- Archivo de configuración
Ejemplo de clave compuesta (la clave tiene un elemento de tipo String):
- DDL
- Archivo de configuración
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 BYusa una función que obtiene un valor de atributo a partir de la clave, esta función se saca automáticamente deGROUP BY.
- No se pudo cargar el diccionario al que se intenta acceder.
- Error al consultar un diccionario
cached.