ClickHouse. What's new
Наконец выбрал вечер посмотреть, что нового в ClickHouse появилось, оно того стоило!!!
25.10
Удобства
1. равенство с учётом null: <=>, null <=> = null = True
2. LIMIT N BY DIM1, оставить только N первых записей по DIM1, без оконок! пример в feedle
5. LIMIT -100. Милота - можно брать LIMIT с конца =)
Оптимизации
3. Ооо, крутое, enable_lazy_columns_replication, позволяет делать JOIN сильно оптимальнее, если JOIN по разряженному полю, типа табличка 100М строк JOIN сама на себя за 8 секунд, то есть JOIN не будет сначала все перемножать и потом считать.
4. SET enable_join_runtime_filters, просто ТОП! вместо JOIN, если табличка относительно небольшая, будет подзапрос и в большую табличку передастся PREWHERE! Это решает вопросы с RLS, с моделькой звезды в ClickHouse. Надо прям потестить, кто-нибудь пробовал? Х2 к скорости вроде.
25.11
Удобства
1. LIMIT 0.3 - 30% от выборки =) OFFSET 0.5 - OFFSET первой половины записей
Оптимизации
2. Проекции как способ вторичной сортировки - хороший способ ускорения, но очень дорогой, надо хранить все данные еще раз. ClickHouse представил _part_offset указатель, где проекция делается не на все данные, а на указание, в каких партах искать те или иные отсортированные по другому полю данные. То есть читаться партов будет больше, но для каких-то небольших выборок попадание будет хорошее, а хранить все данные, как в полной проекции, не придется.
3. Проекция с GROUP BY теперь используется как источник для DISTINCT! Долой медленные справочники =)
Post #138
1.59K
- ⚡ 6
- 🔥 5