Initialisatieblokken beheren

Als u Data Gateway of Remote Data Connector met Oracle Analytics Cloud gebruikt, dan duurt elke uitvoering van een query iets langer.

U zult de langere duur niet merken wanneer u een rapport uitvoert, omdat het minder dan 0,3 seconden in beslag neemt. U kunt echter prestatieproblemen tegenkomen als u veel initialisatieblokken uitvoert (het aantal hangt af van uw prestatievereisten) wanneer iemand zich aanmeldt, omdat query's van initialisatieblokken opeenvolgend worden uitgevoerd. In dit onderwerp worden manieren voorgesteld om het aantal initialisatieblokken van een sessie te verminderen.

Door de uitgestelde optie voor initialisatieblokken te gebruiken, wordt het probleem niet verholpen, omdat initialisatieblokken worden uitgevoerd wanneer u de eerste dashboardpagina opent.

Dit is een probleem als u Oracle BI Applications gebruikt, omdat er meer dan 200 initialisatieblokken in worden uitgevoerd. Voor Oracle Analytics Cloud is de beste manier om deze prestatieproblemen te voorkomen het verminderen van het aantal initialisatieblokken.

De volgende manieren worden aangeraden om het aantal initialisatieblokken van een sessie te verminderen.

  • Deactiveer alle initialisatieblokken die u niet nodig hebt.

    In Oracle BI Applications kunt u bijvoorbeeld initialisatieblokken deactiveren die verwijzen naar modules van Oracle BI Applications die u niet meer gebruikt.

  • Mits er geen prioriteitsregel is, voegt u alle row_wise-initialisatieblokken samen die van dezelfde verbindingsgroep gebruikmaken en hetzelfde gegevenstype retourneren met UNION ALL tussen de query's.

    Bijvoorbeeld:

    Init block 1: query1
    
    Init block 2: query2
    
    Merged init block: query1 union all query2
  • Deactiveer alle initialisatieblokken die een hardgecodeerde waarde selecteren uit Dual of W_DUAL_G en plaats de hardgecodeerde waarde in de standaardinitialisator van de overeenkomende variabele.
  • Voeg de resterende initialisatieblokken samen die gegevens uit Dual selecteren in een enkel select-statement.
  • Voor klanten van Oracle BI Applications: deactiveer alle initialisatieblokken die worden gebruikt om de aangepaste attribuutnamen en -waarden van Oracle Human Capital Management op te halen als het overeenkomende attribuut niet wordt gebruikt (als de standaardwaarde HIDE de huidige waarde voor deze variabelen is) of als u Oracle Human Capital Management niet gebruikt als een gegevensbron voor Oracle BI Applications (er zijn 100 soortgelijke initialisatieblokken in Oracle BI Applications):
    HR xxx Attribute yyy
  • Voeg alle resterende initialisatieblokken samen die niet row_wise zijn en gebruik dezelfde verbindingsgroep. Bijvoorbeeld:

    Initialisatieblok 1 is gebaseerd op query 1: select colA from tableA where…..

    Initialisatieblok 2 is gebaseerd op query 2: select colB from tableB where…..

    U kunt ze in één initialisatieblok samenvoegen met een query zoals:

    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

    U kunt zo vaak verenigen als nodig is om alle variabelen uit dezelfde verbindingspool in één query op te halen.

    Dit is niet eenvoudig te implementeren of te onderhouden en u loopt het risico fouten te maken wanneer u de query's maakt en alle variabelen aan één initialisatieblok toewijst.

Als u uw initialisatieblokquery's en -variabelen zorgvuldig implementeert en onderhoudt, kunt u de tijd die het aanmelden en weergeven van de eerste dashboardpagina kost, aanzienlijk verkorten.