TABLE_1
id UInt64
text String
— Много других столбцов
Так вот сам вопрос: данные пишутся в TABLE_1 таким образом, что id и text меняются реже, чем — Много других столбцов.
Закономерно что оптимальнее для CH?
1) Оставить все как есть (тут вопрос в оптимальности хранения повторяющихся строк + нагрузка в bps/rps при записи/чтении)
2) Либо сделать TABLE_2 и хранить там только
id UInt64
text String
И строить запросы таким образом, что сначала SELECT id FROM TABLE_2 WHERE text = ...
И потом уже каким-то образом делать SELECT из TABLE_1 по всем выбранным ранее id (IN)?
Спасибо!
Лучше широкая таблица, т.к. предварительная фильтрация все равно будет по колонкам производиться, не считывая остальные данные. См. секцию prewhere.
Обсуждают сегодня