ts_captured)
содержит лог всех изменений разных объектов(entity_type) - объектов десятки.
Мне нужно иметь таблицу или вьюху для каждого entity_type, которая будет содержать последнюю по времени ts_captured версию каждого entity_id
пока сделал поверх postevent вьюху
CREATE VIEW postevent_api_offerlog AS
SELECT * FROM postevent
WHERE entity_type='api_offerlog'
AND (entity_id, ts_captured) IN (
SELECT
entity_id,
max(ts_captured)
FROM postevent
WHERE entity_type='api_offerlog'
group by entity_id
)
и запрос select count(*) from postevent_api_offerlog уже выполняется 2-3 секунды.
записей в postevent ~ 10млн, будет сильно больше. Можно ли обойтись средствами кликхауса?
argMax / replacingMergeTree
Обсуждают сегодня