Ha Data Gateway vagy Remote Data Connector megoldást használ az Oracle Analytics Cloud szolgáltatással, az egyes lekérdezések végrehajtásának időtartama kismértékű többletköltséggel jár.
Kimutatás futtatásakor nem fogja észrevenni a megnövekedett időt, mert az kevesebb, mint 0,3 másodperc. Azonban teljesítménybeli problémákat tapasztalhat, ha sok inicializálási blokkot futtat (a szám a teljesítménykövetelményektől függ), amikor valaki bejelentkezik, mert az inicializálási blokk lekérdezései sorozatosan futnak le. A témakörben módokat javasolunk arra, hogy miként csökkentheti a munkamenet-inicializálási blokkokat.
Az inicializálási blokkok elhalasztott beállításának használata nem oldja meg a problémát, mivel az inicializálási blokkok végrehajtása az első irányítópult-oldal megnyitásakor történik.
Ez akkor jelent problémát, ha az Oracle BI Applications szolgáltatást használja, mert az több mint 200 inicializálási blokkot futtat. Az Oracle Analytics Cloud esetében a teljesítményproblémák elkerülésének legjobb módja az inicializálási blokkok számának csökkentése.
Az Oracle a következő módszereket javasolja a munkamenet-inicializálási blokkok csökkentésére:
Például az Oracle BI Applications szolgáltatásban tiltsa le azokat az inicializálási blokkokat, amelyek olyan Oracle BI Applications-modulokra hivatkoznak, amelyeket már nem használ.
row_wise
inicializálási blokkot, amely ugyanazt a kapcsolatkészletet használja, és ugyanazt az adattípust adja vissza a UNION ALL
használatával a lekérdezések között.
Például:
Init block 1: query1 Init block 2: query2 Merged init block: query1 union all query2
dual
vagy a W_DUAL_G
közül fizikailag kódolt értéket választ ki, és tegye a fizikailag kódolt értéket a megfelelő változó alapértelmezett inicializálójába.select
utasításba.HIDE
érték ezeknek a változóknak az aktuális értéke), vagy ha nem használja az Oracle Human Capital Management alkalmazást az Oracle BI Applications adatforrásaként (az Oracle BI Applications szolgáltatásban száz ilyen inicializálási blokk található):
HR xxx Attribute yyy
row_wise
, és ugyanazt a kapcsolatkészletet használják. Például:
1. inicializálási blokk az 1. lekérdezés alapján: select colA from tableA where….
2. inicializálási blokk a 2. lekérdezés alapján: select colB from tableB where….
Egy inicializálási blokkba egyesítheti őket egy lekérdezéssel, például:
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
Annyi egyesítést végezhet, amennyi szükséges, hogy egyetlen lekérdezésben lekérje az összes változót ugyanabból a kapcsolatkészletből.
Ezt nem könnyű megvalósítani vagy fenntartani, és fennáll a veszélye annak, hogy hibákat követnek el a lekérdezések létrehozásakor, és az összes változót egyetlen inicializálási blokkhoz rendelik.
Ha gondosan valósítja meg és fenntartja az inicializálási blokk lekérdezéseit és változóit, jelentősen csökkentheti a bejelentkezéshez és az első irányítópult-oldal megjelenítéséhez szükséges időt.