понимаю, что словарь уникальных значений создаётся отдельно для каждого партишена в таблице? Имеет ли смысл с точки зрения производительности партиционировать таким образом, чтобы в разные партишены попадали не пересекающиеся наборы уникальных строк?
P.S. Задача - создать словари уникальных значений различных столбцов таблицы с частотой их появления в сырых данных по месяцам. Движок - AggregatingMergeTree.
Словарь хранится даже не на партицию, а на кусок (или даже несколько словарей на кусок, если он большой). Партиционировать так имеет смысл. Словари должны получиться меньше. Правда, насколько это будет выгоднее - сказать сложно. С другой стороны, зачем нужен LowCardinality в этой задаче? Кажется, достаточно делать GroupBy по значению и хранить count().
Обсуждают сегодня