如何在伺服SQL条件下创建索引?

时间:2018-11-21 11:09:40

标签: clickhouse

数据就像开始时间,结束时间,id,a,b,c,d,e,f,g ...

如何在Clickhouse上创建索引,大多数sql如下:

  

1。从tbl1中选择开始时间,结束时间,id,a,b,c,d,e,f,g   在哪里开始时间> =?和结束时间<=?和id =?

     

2。从tbl1中选择a,c,sum(f),avg(g)   在哪里开始时间> =?和结束时间<=?   按a,c分组   按sum(f)desc排序   限制20

     

3。从tbl1中选择开始时间,结束时间,id,a,b,c,d,e,f,g   在哪里开始时间> =?和结束时间<=?和一个=?   限制20

     

4。从tbl1中选择a,c,sum(f),avg(g)   在哪里开始时间> =?和结束时间<=?和一个=?和c =?   按a,c分组   按sum(f)desc排序   限制20

     

5。从tbl1中选择a,b,c,d,e,f,g   在哪里开始时间> =?和结束时间<=?和一个=?和d =?和e =?   按a,d,e排序   限制20

提示:
a)总是有开始时间,结束时间

b)某些SQL具有用于搜索小数据的ID,例如1。而其他SQL具有用于搜索大数据的ID,例如2,3,4,5

1 个答案:

答案 0 :(得分:0)

Clickhouse是一个带有一个主键的面向COLUMN的数据库,他将每一列存储在不需要二级索引的单独的优化“存储”中

您可以选择* MergeTree表引擎,其主键的开始时间和结束时间 每种MergeTree引擎在这里https://clickhouse.yandex/docs/en/operations/table_engines/mergetree/

您所有的查询都将尽快运行