更改 ClickHouse 中排序键表达式的方向

Posted

技术标签:

【中文标题】更改 ClickHouse 中排序键表达式的方向【英文标题】:Change the direction of sorting keys expressions in ClickHouse 【发布时间】:2021-02-10 16:23:26 【问题描述】:

使用此架构在 Tinybird 中创建数据源按预期工作

DESCRIPTION generated from ../datasets/posts_1K.csv

SCHEMA >
    `date` Date,
    `post_id` Int32,
    `views` Int32

ENGINE MergeTree
ENGINE_SORTING_KEY date, post_id

我想知道是否可以在排序键的表达式之一中更改排序方向。此架构失败

DESCRIPTION generated from ../datasets/posts_1K.csv

SCHEMA >
    `date` Date,
    `post_id` Int32,
    `views` Int32

ENGINE MergeTree
ENGINE_SORTING_KEY date DESC, post_id

在做tb push datasources/posts_1K_sorted_date_desc_post_id.datasource时。也试过ENGINE_SORTING_KEY "date DESC, post_id"

在 ClickHouse 上是否有可能发生这样的事情?不确定是否可以阅读docs

另外 - 这样的事情在任何情况下都有意义吗?

【问题讨论】:

【参考方案1】:

ENGINE_SORTING_KEY 日期 DESC

不可能。没有实施的计划。 对于大多数用例来说没有意义。

CH 能够使用ENGINE_SORTING_KEY date ASC 优化select order by date desc

在极少数情况下,它可以改进短而精确的实时查询。人们使用 hack order by -dateorder by additional_date_substracted_from_max_date https://github.com/ClickHouse/ClickHouse/issues/11564#issue-635913235

【讨论】:

以上是关于更改 ClickHouse 中排序键表达式的方向的主要内容,如果未能解决你的问题,请参考以下文章

Clickhouse一级索引优化方案

ClickHouse ,选择 top n 并按主键排序的问题

Clickhouse重复数据处理

ClickHouse实战--ClickHouse的主键

clickhouse索引

clickhouse使用一些优化和经验