от ключа сортировки? Как я понял ещё, что первичный ключ в обьязательным порядке должен быть префиксом ключа сортировки.
Например у вас SummingMergeTree и вы иногда добавляете колонки в ключ сортировки, по которому вам хочется суммировать в фоне. При этом в запросах вам этот широченный ключ не нужен, используется только его маленький префикс (primary key).
Т.е. была потребность добавлять дименшины, как бы менять ключ по которому идет мерж, ну и плюс не тратить память на длинные индексы, потому что это бессмысленно. оно может быть нужно в странных случая, и может появиться "само" create table X (A Int64, B String) Engine=ReplacingMergeTree order by A; alter table X add column C Int64, modify order by (A,C); show create table X CREATE TABLE dw.X (`A` Int64, `B` String, `C` Int64) ENGINE = ReplacingMergeTree PRIMARY KEY A ORDER BY (A, C) т.е. индекс остался неизменным PRIMARY KEY A, мержится будет по ORDER BY (A, C)
Обсуждают сегодня