Întreţinerea blocurilor de iniţializare

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:

  • Dezactivaţi toate blocurile de iniţializare de care nu aveţi nevoie.

    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.

  • Cu excepţia cazului în care există o regulă de precedenţă, fuzionaţi toate blocurile de iniţializare 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
  • Dezactivaţi toate blocurile de iniţializare care selectează o valoare codificată hard din dual sau din W_DUAL_G, iar apoi plasaţi valoarea codificată hard în iniţializatorul prestabilit al variabilei corespunzătoare.
  • Fuzionaţi blocurile de iniţializare rămase care selectează date din dual într-o singură instrucţiune SELECT.
  • Pentru clienţii Oracle BI Applications customers: Dezactivaţi toate blocurile de iniţializare utilizate pentru a prelua numele şi valorile atributelor personalizate din Oracle Human Capital Management, dacă acele atribute nu sunt utilizate. (Dacă valoarea prestabilită standard 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
  • Fuzionaţi toate blocurile de iniţializare rămase care nu sunt 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.