Я создал схему звезд, чтобы хранить нагрузку данных социальных сетей и поставлять ее в приложение панели мониторинга с помощью 15 функций, которые вызываются с идентификатором пользователя и датой. Проблема в том, что каждая функция имеет в центре этого же запроса - выбор всей активности за указанный период времени. Затем запросы агрегируют данные и возвращают их для отображения на панели управления.Конструкция базы данных Postgres - функции панели инструментов
Например:
select
poster,
count(*) as volume
from postgres.status
where posted_date between in_date_from and in_date_to
and timeline_id = in_timeline
group by poster;
и другой пример функции:
select
extract(dow from posted_date) as dayofweek,
count(*) as volume
from postgres.status
where posted_date between in_date_from and in_date_to
and timeline_id = in_timeline
group by extract(dow from posted_date);
Это мой первый раз, работая с Postgres функций, и я надеюсь, что есть способ, что я не должен был бы существенно запустите этот же запрос в 15 раз для обновления приложения - это довольно большой набор данных.
проблема с X/Y. Почему у вас есть звездная схема? Зачем вам нужна * функция. (и: где функция?) – wildplasser
Спасибо @wildplasser - я думаю, что я храню данные в большинстве логических форматов для требуемого типа отчетов, а функции отображаются как api для приложения для запроса с пользователями вход. Функции по существу, как указано выше, возвращают два столбца результата. – econnormist
У вас есть звездная схема. Является ли это частью хранилища данных или вы можете рассматривать его как часть хранилища данных? –