сильно чувствителен к порядку объединяемых inner join-ом таблиц (для таблиц в 2кк и 20кк записей разница от перемены мест вышла в 5 раз по используемой памяти), а при использовании MV первой обязательно должна идти таблица, для которой будут отслеживаться insert-ы, как лучше поступать в ситуациях, когда для MV первой должна идти таблица t1, а для оптимизации объединения первой должна идти t2?
Пробовал менять t1 на подзапрос (select * from t1 where id in (select id from t2)) и аналогичным образом для t2 - это даёт эффект, но выглядит очень громоздким и странным.
зачем вам join в MV? join замедляет insert , так как MV вызывает хер знает сколько раз на каждый инсерт, то проде это такие MV вообще не работают
У меня из разных источников наполняются t1(UUID id, val1 int32) и t2(UUID id, val2 String, ..., valN String), а надо из них сделать одну t3(UUID id, val1 int32, val2 String, ..., valN String). В t2 75кк записей и 5кк в день обновляются (старые истекают, новые прилетают).
в ETL берете cassandra и джойните построчно
Обсуждают сегодня