Când utilizaţi Data Gateway sau Remote Data Connector cu Oracle Analytics Cloud, durata de execuţie a interogărilor creşte puţin.
Nu veţi observa că durata creşte când rulaţi un raport, deoarece este o creştere mai mică de 0,3 secunde. Însă este posibil să aveţi probleme de performanţă dacă rulaţi multe blocuri de iniţializare (numărul depinde de cerinţele dvs. de performanţă) când se autentifică cineva, deoarece interogările cu blocuri de iniţializare sunt executate în serie. Acest subiect sugerează modalităţi pentru a reduce numărul de blocuri de iniţializare a sesiunilor.
Utilizarea opţiunii de amânare pt. blocurile de iniţializare nu remediază problema, deoarece blocurile de iniţializare sunt executate când deschideţi prima pagină din dashboard.
Aceasta este o problemă dacă utilizaţi Oracle BI Applications, deoarece rulează peste 200 de blocuri de iniţializare. Pentru Oracle Analytics Cloud, cel mai bun mod de a evita astfel de probleme de performanţă este să reduceţi numărul de blocuri de iniţializare.
Oracle vă recomandă următoarele modalităţi de a reduce numărul de blocuri de iniţializare dintr-o sesiune:
De exemplu, în Oracle BI Applications, dezactivaţi blocurile de iniţializare care fac referire la modulele Oracle BI Applications pe care nu le mai utilizaţi.
row_wise
care utilizează acelaşi centralizator de conexiuni şi returnează acelaşi tip de date, utilizând UNION ALL
între interogările acestora.
De exemplu:
Init block 1: query1 Init block 2: query2 Merged init block: query1 union all query2
dual
sau din W_DUAL_G
, iar apoi plasaţi valoarea codificată hard în iniţializatorul prestabilit al variabilei corespunzătoare.SELECT
.HIDE
este valoarea curentă pentru aceste variabile) sau dacă nu utilizaţi Oracle Human Capital Management ca sursă de date pentru Oracle BI Applications (există 100 de astfel de blocuri de iniţializare în Oracle BI Applications):
HR xxx Attribute yyy
row_wise
şi utilizaţi acelaşi centralizator de conexiuni. De exemplu:
Blocul de iniţializare 1 se bazează pe query1: select colA from tableA where….
Blocul de iniţializare 2 se bazează pe query2: select colB from tableB where….
Le puteţi fuziona într-un singur bloc de iniţializare, utilizând o interogare precum:
Select MAX(colA), MAX(colB) from ( select cola as cola, null as colB from tableA where…. Union all Select null, colB from tableB where…) tmp
Puteţi efectua oricâte reuniri este necesar, pt. a prelua toate variabilele din acelaşi centralizator de conexiuni într-o singură interogare.
Acest lucru nu este uşor de implementat sau întreţinut şi riscaţi să faceţi greşeli când creaţi interogările şi asignaţi toate variabilele la un singur bloc de iniţializare.
Dacă implementaţi şi întreţineţi cu grijă interogările şi variabilele din blocul de iniţializare, puteţi reduce semnificativ durata de conectare şi de afişare a primei pagini din dashboard.