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

问题描述

使用此架构在 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,`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

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

解决方法

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