CREATE TABLE
(
created DateTime('UTC') DEFAULT now(),
name LowCardinality(String),
value Float64
...
)
PARTITION BY toStartOfDay(created)
PRIMARY KEY(created,name)
ORDER BY (created,name)
То не нужно включать created в PK даже если выборки всегда идут по диапазону времени?
Ну, тут дело в том, что обычно в запросах не только выборки по времени а допустим и по name. В таком случае обычно эффективнее отбросить сразу большое число записей по name и уже оставшееся отбрасывать дальше по времени. Отдельный вопрос какой процент запросов обращается к данным меньше, чем за один день
Обсуждают сегодня