UUID,
foo_date DateTime64,
bar_date DateTime64,
latest_date DateTime64 materialized max(arrayJoin([foo_date, bar_date]))
) ENGINE ReplacingMergeTree(latest_date)
Всем привет, подскажите плз, как правильно оформить такой фокус, если я хочу версионировать строки в реплейсинг-мерж-три по наибольшему из нескольких полей?
create table foo_bar_table ( id UUID, foo_date DateTime64, bar_date DateTime64, latest_date DateTime64 materialized arrayMax(x -> toUnixTimestamp64Nano(x), [foo_date, bar_date]) ) ENGINE ReplacingMergeTree(latest_date) order by id primary key id сделал так - подскажите какие подводные камни? Задача - обновлять записи в большой денормализованной таблице, где состав полей меняется независимо от обновления основной сущности к которой всё подвязано
UUID в качестве ключа, не очень идея... зависит от того сколько строк в таблице и какие выборки потом с ней будут но в целом должно работать только OPTIMIZE ... FINAL не злоупотребляйте...
да это тестовая табличка, там айди влеплен лишь бы что-то влепить) а почему ууид не очень идея? как еще однозначно идентифицировать объект?
погуглите про snowflake id
Обсуждают сегодня