AS
А в чём преимущество схемы с Null + MaterializedView перед использованием временной таблицы?
1. Ненужные данные вообще не будут храниться и мерджиться.
2. Не нужно внешней приложухи, которая будет делать все эти переливания\конвертации по таймеру
3. Преобразования будут происходить не раз в N времени над большим объёмом записей, а в реальном времени над небольшими пачками данных.
Пример сейчас неудобно печатать. Общий смысл: делаете одну таблицу с движком Null с полями как в источнике - она будет нужна только как точка входа для работы MV, делаете вторую таблицу с нужным движком и правильными полями - это будет само хранилище, делаете MV на первую таблицу - оно будет преобразовывать данные по мере поступления и складывать их в хранилище в нужном виде.