Фильтр по event_type в ClickHouse медленный, а по дате — быстрый
Таблица создана так:
CREATE TABLE events (...)
ENGINE = MergeTree
ORDER BY (event_date, user_id)
Запросы с условием на event_date быстрые, а WHERE event_type = 'purchase' без даты читает почти всю таблицу. Что определяет эту разницу?
- Ключ сортировки ORDER BY: по нему строится разреженный индекс
- Столбец event_type хранится без сжатия
- Строковые столбцы в ClickHouse нельзя фильтровать быстро
- Запросы без даты ClickHouse выполняет в фоновом режиме
