В созданной мной онлайн-системе продажи билетов мне нужно добавить аналитическую отчетность по заказам в реальном времени для моего клиента.
Важные данные заказа разбиты на несколько таблиц (клиенты, заказы, line_items, package_types, tickets). Каждая таблица содержит дополнительные данные, которые не важны для любого отчета, который может понадобиться моему клиенту.
Я рассматриваю возможность записи каждого заказа в виде отдельной позиции в денормализованной таблице отчета. Я пытаюсь выяснить, имеет ли это смысл или нет.
Как правило, запросы, которые я выполняю для отчета, должны объединяться только в двух или трех таблицах одновременно. К каждой таблице добавлены соответствующие индексы.
Имеет ли смысл скомпилировать все данные заказа в одну таблицу, которая содержит только необходимые столбцы для отчетности?
Приложение построено на Ruby on Rails 3, а база данных - Postgresql.
РЕДАКТИРОВАТЬ: Целью этого было бы сделать данные в браузере как можно быстрее для пользователя.