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.
I Oracle BI Applications kan du for eksempel deaktivere initialiseringsblokke, der refererer til Oracle BI Applications-moduler, som du ikke længere bruger.
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
dual
eller W_DUAL_G
, og placer den hardcodede værdi i standardinitialiseringen for den tilsvarende variabel.select
-erklæring.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
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.