Opprettholde initialiseringsblokker

Når du bruker Data Gateway eller Remote Data Connector med Oracle Analytics Cloud, er det et lite tillegg i varigheten av hver enkelt spørringsutførelse.

Du kommer ikke til å legge merke til den ekstra varigheten når du kjører en rapport, ettersom den er på under 0,3 sekunder. Det kan imidlertid oppstå problemer med ytelsen hvis du kjører mange (antallet avhenger av ytelsesbehovet) initialiseringsblokker hver gang noen logger på, ettersom spørringer for initialiseringsblokker utføres serielt. Dette emnet foreslår måter å redusere antallet øktinitialiseringsblokker på.

Problemet løses ikke ved å bruke valget Utsatt for initialiseringsblokker, ettersom initialiseringsblokkene utføres når du åpner den første instrumentpanelsiden.

Dette er et problem hvis du bruker Oracle BI Applications, ettersom denne applikasjonen kjører over 200 initialiseringsblokker. For Oracle Analytics Cloud er det best å redusere antallet initialiseringsblokker for å unngå disse ytelsesproblemene.

Oracle anbefaler følgende måter å redusere antallet øktinitialiseringsblokker på:

  • Deaktiver alle initialiseringsblokkene du ikke trenger.

    I Oracle BI Applications kan du for eksempel deaktivere initialiseringsblokker som refererer til Oracle BI Applications-moduler du ikke bruker lenger.

  • Med unntak av når det finnes en prioritetsregel, slår du sammen alle initialiseringsblokker av typen row_wise som bruker den samme tilkoblingsreserven og returnerer den samme datatypen, ved å bruke UNION ALL mellom de tilhørende spørringene.

    Eksempel:

    Init block 1: query1
    
    Init block 2: query2
    
    Merged init block: query1 union all query2
  • Deaktiver alle initialiseringsblokkene som velger en hardkodet verdi fra dual eller W_DUAL_G, og plasser den hardkodede verdien i standardinitialisereren for den tilsvarende variabelen.
  • Slå sammen de gjenstående initialiseringsblokkene som velger data fra dual, i én select-setning.
  • For Oracle BI Applications-kunder deaktiverer du alle initialiseringsblokkene som brukes til å hente navn og verdier for egendefinerte Oracle Human Capital Management-attributter hvis det tilsvarende attributtet ikke brukes (hvis standardverdien HIDE er den gjeldende verdien for disse variablene), eller hvis du ikke bruker Oracle Human Capital Management som datakilde for Oracle BI Applications (det finnes 100 initialiseringsblokker som dette i Oracle BI Applications):
    HR xxx Attribute yyy
  • Slå sammen alle de gjenstående initialiseringsblokkene som ikke er av typen row_wise, og som bruker den samme tilkoblingsreserven. Eksempel:

    Initialiseringsblokk 1 er basert på spørring 1: select colA from tableA where….

    Initialiseringsblokk 2 er basert på spørring 2: select colB from tableB where….

    Du kan slå dem sammen til én initialiseringsblokk ved hjelp av en spørring som denne:

    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

    Du kan opprette så mange unioner som nødvendig for å hente alle variablene fra den samme tilkoblingsreserven, til én spørring.

    Dette er ikke enkelt å implementere eller vedlikeholde, og du risikerer å gjøre feil når du oppretter spørringene og tilordner alle variablene til én initialiseringsblokk.

Hvis du er nøyaktig i implementeringen og vedlikeholdet av spørringer og variabler i initialiseringsblokken, kan du i betydelig grad redusere påloggingstiden og tiden det tar å vise den første instrumentpanelsiden.