Вот что я бы порекомендовал. Я собираюсь воспользоваться вашим предложением, чтобы пользователь мог
У пользователя есть история покупок за последние 6 месяцев, и он хочет видеть гистограмму его истории в зависимости от различных показателей, таких как, сколько они купили с помощью наличных / кредитных карт / дебетовых карт или в каком месяце они потратили более другие месяцы
Чтобы минимизировать время запроса, я бы создал материализованное представление, содержащее данные, которые были бы необходимы для этой функции. Я предполагаю, что это представление не всегда должно быть актуальным, и вы можете пересоздавать его в нерабочее время каждый день или что-то в этом роде.
Тогда мне нужен класс, который будет служить исключительно для выполнения AJAX-запросов на получение этих данных. Вы должны создать объекты, которые имеют методы доступа (геттеры), которые представляют значения, которые вы пытаетесь отобразить. Затем преобразуйте эти объекты в JSON и получите возвращаемое значение вашего AJAX-запроса.
Как только он вернется на HTML-страницу, вы можете делать с ней все, что захотите, поскольку она находится в формате JSON. Вы также можете поместить результат запроса в JSON в объект сеанса, чтобы иметь доступ к нему на каждой странице.
Надеюсь, это поможет. Не стесняйтесь сообщать мне, если вам нужны какие-либо разъяснения.