запись около получаса назад, таблица так и не просуммирована. Не могу чёт отдуплить совсем, гугл тоже не помогает. Хотя в мат. вьюхе всё суммировалось быстро
```CREATE TABLE IF NOT EXISTS lbas_daily
(
date Date,
uuid UUID,
created_at DateTime,
type_name String,
bv Int64
) ENGINE = SummingMergeTree(bv)
PARTITION BY toYYYYMM(date)
ORDER BY (date, uuid);
INSERT INTO lbas_daily
SELECT toDate(sample_time) as date,
uuid,
created_at,
type_name,
1 as bv
FROM lbas
WHERE toDate(sample_time) == yesterday();```
Если Вы читали документацию, то там написано, что оно суммирует в неизвестный момент времени, а так же ClickHouse может не полностью просуммировать все строки, для этого нужно использовать агрегатную функцию sum и секцию GROUP BY
Просто материальная вьюха суммировала каждые несколько минут, а тут сутки уже висит
Движок не гарантирует что все Ваши записи просуммируются
Только не просуммировалась ни одна вообще
Тогда посмотрите на свой Primary Key, он суммирует если одинаковый первичный ключ
Что вы пытаетесь доказать ? Движок работает вот так. Когда-то данные просуммируются, а может и нет.
Я пытаюсь понять, почему мат вьюха суммировала каждые несколько минут, а обчная таблица не суммирует в течении более чем суток уже
Вы делаете count(*) - это вообще невалидно для summing таблиц Вы сделали два инсерта по 1 записи - они смержились в одну - каунт вернёт единицу
count(*) показывает как раз таки то, что записи не смерджились в данном случае
Вам же написали, что они могут и не смержиться
Если Вам нужно гарантированно получить сумму в том или ином случае, то ни один движок Вам эту гарантию не даст
Можете написать select * from ... final
Внезапно final помог. Спасибо
Почитайте про final и optimize Сейчас просто налету мержится. В таблице все равно остались те строки
Обсуждают сегодня