如何在servral sql条件下创建索引?

4smxwvx5  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(1)|浏览(556)

数据有starttime,endtime,id,a,b,c,d,e,f,g。。。
如何在clickhouse上创建索引,大多数sql如下:
1.从tbl1中选择starttime、endtime、id、a、b、c、d、e、f、g,其中starttime>=?结束时间<=?id=?
2.从tbl1中选择a、c、sum(f)、avg(g),其中starttime>=?结束时间<=?按a、c分组按和排序(f)说明限制20
3.从tbl1中选择starttime、endtime、id、a、b、c、d、e、f、g,其中starttime>=?结束时间<=?a=?限制20
4.从tbl1中选择a、c、sum(f)、avg(g),其中starttime>=?结束时间<=?a=?c=?按a、c分组按和排序(f)说明限制20
5.从tbl1中选择a、b、c、d、e、f、g,其中开始时间>=?结束时间<=?a=?和d=?e=?按a、d、e限购20
提示:
a) 总是有开始的时间,结束的时间
b) 一些sql有一个id来搜索小数据,例如1。但其他人要搜索大数据,例如2、3、4、5

raogr8fs

raogr8fs1#

clickhouse是一个面向列的数据库,只有一个主键,他将每一列存储在单独的优化“存储”中,不需要二级索引
您可以选择*mergetree表引擎,主键中包含starttime和endtime这里描述的每种mergetree引擎https://clickhouse.yandex/docs/en/operations/table_engines/mergetree/
所有查询都将以尽可能快的速度运行

相关问题