решения, какой ключ партиционирования нужно указывать при создании таблицы
engine = MergeTree PARTITION BY date -- вот тут дата у меня по дням, но например result_type уникальных данных куда меньше. или например q_id уникальный данных тоже меньше чем уникальных date, однако result_type еще меньше.
ORDER BY (date, result_type, q_id, f_id, r_id)
По документации пока трудновато понять, что именно надо использовать. Может как-то тут все проще можно объяснить?
если вам нужно будет удалять данные со временем по признаку времени, лучше partition by date. если иначе - много всяких если, нужно больше информации
Ну скажем так, основная задача этой таблицы, делать запросы в которых всегда будет такой селект Select ..., uniq(result_type), group by q_id И данных может быть ну например 1ккк+
вообще не делайте партиции тогда
А ORDER BY - это же посути индекс и его то уж точно надо и поидее в определенном порядке?
да, в зависимости от запросов и данных (может хорошо влиять на сжатие) если только груп бай без where - то он тоже не особо нужен, можно только сжатие улучшить используя хороший order by
Правильно ли я понимаю, что как раз эта таблица показывает как работает OrDER BY?
Спасибо, а нет ли способов понять, правильно ли я построил индекс для запроса? типа как в постгре explain какой-то сделать
если вы не знаете какой как партиционировать таблицу, партиционируйте по месяцам. toYYYYMM
какой индекс? skip ?
запустите с set send_logs_level='trace' там много полезного. explain подвезли недавно, но он не для новичков
Понял, спасибо
Обсуждают сегодня