Vedligeholde initialiseringsblokke

Når du bruger Data Gateway eller Remote Data Connector sammen med Oracle Analytics Cloud, er der et lille overhead på varigheden af hver udførelse af en forespørgsel.

Du vil ikke bemærke den ekstra varighed, når du kører en rapport, fordi den er mindre end 0,3 sekunder. Men du kan opleve problemer med ydeevnen, hvis du kører mange (antallet afhænger af dine krav til ydeevnen) initialiseringsblokke, hver gang nogen logger på, fordi initialiseringsblokforespørgsler udføres serielt. Dette emne indeholder forslag til, hvordan du kan reducere antallet af initialiseringsblokke for sessioner.

Brug af udskydelsesvalget til initialiseringsblokke løser ikke problemet, fordi initialiseringsblokke udføres, når du åbner den første instrumentbrætside.

Dette er et problem, hvis du bruger Oracle BI Applications, fordi det kører mere end 200 initialiseringsblokke. Den bedste måde at undgå disse ydeevneproblemer på Oracle Analytics Cloud på er at reducere antallet af initialiseringsblokke.

Oracle anbefaler følgende forslag til, hvordan du kan reducere antallet af initialiseringsblokke for sessioner.

  • Deaktiver alle initialiseringsblokke, som du ikke behøver.

    I Oracle BI Applications kan du for eksempel deaktivere initialiseringsblokke, der refererer til Oracle BI Applications-moduler, som du ikke længere bruger.

  • Medmindre der er en regel om forrang, skal du flette alle de row_wise-initialiseringsblokke, der bruger den samme forbindelsespulje og returnerer den samme datatype, ved at bruge UNION ALL mellem forespørgslerne.

    Eksempel:

    Init block 1: query1
    
    Init block 2: query2
    
    Merged init block: query1 union all query2
  • Deaktiver alle de initialiseringsblokke, der vælger en hardcoded værdi fra dual eller W_DUAL_G, og placer den hardcodede værdi i standardinitialiseringen for den tilsvarende variabel.
  • Flet de resterende initialiseringsblokke, der vælger data fra dual, til en enkelt select-erklæring.
  • For Oracle BI Applications-kunder deaktiveres alle de initialiseringsblokke, der bruges til at hente tilpassede Oracle Human Capital Management-attributnavne og -værdier, hvis den tilsvarende attribut ikke bruges (hvis standardværdien HIDE er den aktuelle værdi for disse variabler), eller hvis du ikke bruger Oracle Human Capital Management som en Oracle BI Applications-datakilde (der er 100 initialiseringsblokke som denne i Oracle BI Applications):
    HR xxx Attribute yyy
  • Flet alle de resterende initialiseringsblokke, der ikke er row_wise, og brug den samme forbindelsespulje. Eksempel:

    Init block 1 er baseret på query1: select colA from tableA where….

    Init block 2 er baseret på query2: select colB from tableB where….

    Du kan flette dem til en enkelt initialiseringsblok ved hjælp af en forespørgsel som:

    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 lave så mange foreninger, som du behøver, for at hente alle variablerne fra den samme forbindelsespulje i en enkelt forespørgsel.

    Dette er ikke nemt at implementere eller vedligeholde, og du risikerer at lave fejl, når du opretter forespørgslerne og tildeler alle variablerne til en enkelt initialiseringsblok.

Hvis du implementerer og vedligeholder dine forespørgsler og variabler til initialiseringsblokke omhyggeligt, kan du reducere den tid, det tager at logge på og vise den første instrumentbrætside, betydeligt.