När du använder datanätslussen eller fjärranslutning av data med Oracles analysmoln tar varje fråga lite längre tid att köra.
Du märker inte den här fördröjningen när du kör en rapport, den är kortare än 0,3 sekunder. Du kan dock få prestandaproblem om du kör många initieringsblock (antalet beror på dina prestandakrav) när någon loggar in, eftersom initieringsblockfrågor körs seriellt. Det här avsnittet föreslår sätt att minska antalet initieringsblock för en session.
Du löser inte problemet genom att använda uppskjutningsalternativet för initieringsblocken eftersom de körs när du öppnar den första infopanelsidan.
Det här är ett problem om du använder Oracle BI Applications, eftersom det kör fler än 200 initieringsblock. I Oracles analysmoln är det bäst att undvika de här prestandaproblemen genom att minska antalet initieringsblock.
Oracle rekommenderar följande sätt för att minska antalet initieringsblock för en session:
I Oracle BI Applications kan du till exempel avaktivera initieringsblock som refererar till Oracle BI Applications-moduler du inte använder längre.
row_wise
-initieringsblock som använder samma anslutningspool och returnera samma datatyp med UNION ALL
mellan frågorna.
Exempel:
Init block 1: query1 Init block 2: query2 Merged init block: query1 union all query2
dual
eller W_DUAL_G
och sätt det hårdkodade värdet i motsvarande variabels standardinitierare.select
-sats.HIDE
är variablernas aktuella värde) eller om du inte använder Oracle Human Capital Management som datakälla för Oracle BI Applications (det finns omkring 100 liknande initieringsblock i Oracle BI Applications):
HR xxx Attribute yyy
row_wise
och använd samma anslutningspool. Exempel:
Initieringsblock 1 baseras på fråga 1: select colA from tableA where….
Initieringsblock 2 baseras på fråga 2: select colB from tableB where….
Du kan sammanfoga dem till ett enda initieringsblock med en fråga som den här:
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 göra så många sammanfogningar som behövs för att hämta alla variabler från samma anslutningspool i en enda fråga.
Det här är inte särskilt enkelt att implementera eller underhålla, och du riskerar att göra misstag när du skapar frågorna och tilldelar alla variabler till ett enda initieringsblock.
Om du är noggrann när du implementerar och underhåller frågor och variabler i dina initieringsblock kan du korta ned tiden det tar att logga in och visa den första infopanelsidan betydligt.