complex_key_cache

简介: complex_key_cache

complex_key_cache字典与cache字典的特性完全相同,只是将单个数值型key替换成了复合型。完整示例如下:


/etc/clickhouse-server 目录下新建 test_complex_key_cache_dictionary.xml 文件,写入如下内容:

<?xml version="1.0"?>
<dictionaries>
  <dictionary>
    <name>test_complex_cache_dict</name>
    <source>
      <!-- 本地文件需要通过executable形式 -->
      <executable>
        <command>cat /var/lib/clickhouse/dictionaries_lib/organization.csv</command>
        <format>CSV</format>
      </executable>
    </source>
    <layout>
      <complex_key_cache>
        <!-- 缓存大小 -->
        <size_in_cells>10000</size_in_cells>
      </complex_key_cache>
    </layout>
    <!-- 与测试数据的结构对应 -->
    <structure>
      <!-- 复合型key -->
      <key>
        <attribute>
          <name>id</name>
          <type>UInt64</type>
        </attribute>
        <attribute>
          <name>code</name>
          <type>String</type>
        </attribute>
      </key>
      <attribute>
        <name>name</name>
        <type>String</type>
        <null_value></null_value>
      </attribute>
    </structure>
    <lifetime>
      <min>300</min>
      <max>360</max>
    </lifetime>
  </dictionary>
</dictionaries>点击复制复制失败已复制


保存文件,再次查询系统中的所有字典:

$ SELECT name, type, key, attribute.names, attribute.types FROM system.dictionaries;
┌─name─────────────────────────┬─type─┬─key──────────────┬─attribute.names─┬─attribute.types─────┐
│ test_complex_cache_dict      │      │ (UInt64, String) │ ['name']        │ ['String']          │
│ test_hashed_dict             │      │ UInt64           │ ['code','name'] │ ['String','String'] │
│ test_complex_key_hashed_dict │      │ (UInt64, String) │ ['name']        │ ['String']          │
│ test_range_hashed_dict       │      │ UInt64           │ ['price']       │ ['Float32']         │
│ test_flat_dict               │      │ UInt64           │ ['code','name'] │ ['String','String'] │
│ test_cache_dict              │      │ UInt64           │ ['code','name'] │ ['String','String'] │
└──────────────────────────────┴──────┴──────────────────┴─────────────────
目录
相关文章
|
8月前
|
存储 安全 算法
【C/C++ std::memory_order 枚举】掌握 C++ 内存模型:深入理解 std::memory_order 的原理与应用
【C/C++ std::memory_order 枚举】掌握 C++ 内存模型:深入理解 std::memory_order 的原理与应用
229 0
|
存储 算法 关系型数据库
explain中key_len的作用
还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群
explain中key_len的作用
|
缓存 数据可视化
'dict' object has no attribute '_txn_read_preference' && Sort exceeded memory limit of 10485760
'dict' object has no attribute '_txn_read_preference' && Sort exceeded memory limit of 10485760
218 0
complex_key_hashed
complex_key_hashed
84 0
|
关系型数据库 MySQL PHP
laravel5.5报错:1071 Specified key was too long; max key length is 767 bytes
laravel5.5报错:1071 Specified key was too long; max key length is 767 bytes
|
SQL 分布式计算 负载均衡
Out of memory due to hash maps used in map-side aggregation解决办法
在运行一个group by的sql时,抛出以下错误信息: Task with the most failures(4):  -----Task ID:  task_201411191723_723592_m_000004URL:  http://DDS0204.
1256 1
|
算法 搜索推荐 索引
Data Structure_Sort Algorithm
排序算法 Tool implement //generate a array of n elements, range [rangL, rangeR] int *generateRandomArray(int n, int rangL, ...
933 0

热门文章

最新文章