首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clickhouse支持快速检索任何列吗?

问clickhouse支持快速检索任何列吗?
EN

Stack Overflow用户
提问于 2022-01-01 06:47:33
回答 1查看 219关注 0票数 0

我尝试使用clickhouse存储40亿个数据,部署在一台机器上,48核cpu和256 g内存,机械硬盘。

我的数据有十列,我希望通过SQL语句快速搜索任何列,例如:

select * from table where key='mykeyword'; or select * from table where school='Yale';

我使用order by来建立一个排序键,order by (key, school, ...),但是当我搜索时,只有按键排序的第一个字段具有很高的性能。在搜索其他字段时,查询速度非常慢,甚至内存溢出(内存分配已经足够大)。

因此,问每一位专家,clickhouse是否支持对类似于mysql的每一列索引进行高性能搜索?我还试图通过索引为每一列创建一个二级索引,但是性能没有提高。

EN

回答 1

Stack Overflow用户

发布于 2022-01-02 13:46:54

您应该尝试了解稀疏主索引的工作方式,以及CREATE中的ORDER子句如何准确地帮助您的查询性能。

Clickhouse永远不会像mysql那样工作。

尝试在CREATE语句中使用主键和ORDER,并在主键第一阶上使用基数较低的字段--不要尝试使用所有

SELECT * ...

这真的是反模式

此外,也许辅助数据跳过索引可以帮助您(但我不确定) https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/mergetree/#table_engine-mergetree-data_skipping-indexes

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70547335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档