字典数据常驻内存的特性,所以它非常适合保存常量或经常使用的维度表数据,以避免不必要的JOIN查询;
字典中的数据通过字典函数访问,也可以使用特殊的字典表引擎,可以将数据字典挂载到一张代理的数据表下,从而实现数据表与字典数据的JOIN查询;
1 内置字典
clickhouse内置字典:Yandex.Metrica字典。
2 外部扩展字典
2.1 读取字典方法:
(1)通过字典函数
(2)使用字典表引擎
2.2 字典函数:
- 获取整型数据的函数:dictGetUInt8、dictGetUInt16、dictGetUInt32、dictGetUInt64、dictGetInt8、dictGetInt16、dictGetInt32、dictGetInt64。
- 获取浮点数据的函数:dictGetFloat32、dictGetFloat64。
- ·获取日期数据的函数:dictGetDate、dictGetDateTime。
- 获取字符串数据的函数:dictGetString、dictGetUUID。
3 参考
朱凯《ClickHouse原理解析与应用实践》