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.
Обсуждают сегодня