Найти в Дзене
Oracle APEX

Производительность визуализации в Oracle APEX

Создание такой графической страницы заняло примерно 30 минут: Такое быстрое решение основывается на нескольких предположениях и технологических ухищрениях: Я против такого подхода при коммерческом производстве ПО, но это хороший вариант для совещания, когда, поговорив и сформулировав пожелание "посмотреть бы", коллеги пошли на перекур/обед, - а ты встречаешь их с готовой визуализацией.

Создание такой графической страницы заняло примерно 30 минут:

Статистические срезы наблюдаемого процесса
Статистические срезы наблюдаемого процесса

Такое быстрое решение основывается на нескольких предположениях и технологических ухищрениях:

  1. Хороший - и в смысле производительности - доступ к первичным данным; в моем случае это был DBlink между боевым сервером и сервером наблюдения, но некоторые ухищрения позволяют навязать исполнение агрегатов на боевом сервере без перекачки всех данных по сети на сервер наблюдения (диск + сеть = верные тормоза, а перекачка на сервер наблюдения срабатывает по умолчанию);
  2. SQL запрос ясен и записывается сразу со всеми агрегирующими и аналитическими функциями для всех графиков; соответственно, текст запроса кешируется, повторный разбор не выполняется, результаты исполнения запроса также кешируются; по факту SQL запрос разбирается лишь однажды, а исполняется (однажды разобранный) лишь раз за обновление страницы, а не по числу графиков;
  3. Первый график рисуется аккуратно, а все остальные выполняются с использованием опции DUPLICATE Oracle APEX и переназначением полей единого запроса атрибутам графика.

Я против такого подхода при коммерческом производстве ПО, но это хороший вариант для совещания, когда, поговорив и сформулировав пожелание "посмотреть бы", коллеги пошли на перекур/обед, - а ты встречаешь их с готовой визуализацией.