Pri používaní brány dát alebo utility Remote Data Connector so službou Oracle Analytics Cloud sa mierne zvyšuje trvanie vykonania každého dopytu.
Pri spustení zostavy si nevšimnete, že jej spracovanie trvá dlhšie, pretože je to menej ako 0,3 sekundy. Problémy s výkonom sa však môžu vyskytnúť, ak spustíte veľký počet (počet závisí od požiadaviek na výkon) inicializačných blokov vždy, keď sa niekto prihlási, pretože dopyty inicializačných blokov sa vykonávajú sériovo. Táto téma navrhuje spôsoby, ako znížiť počet inicializačných blokov relácie.
Pomocou voľby odloženia pre inicializačné bloky sa tento problém nevyrieši, pretože inicializačné bloky sa sa spustia, keď otvoríte prvú stránku panela.
Tento problém vzniká, ak používate systém Oracle BI Applications, pretože spúšťa viac ako 200 inicializačných blokov. Najlepším spôsobom, ako v službe Oracle Analytics Cloud týmto problémom s výkonom zabrániť, je znížiť počet inicializačných blokov.
Spoločnosť Oracle odporúča nasledujúce spôsoby zníženia počtu inicializačných blokov relácie:
Napríklad v systéme Oracle BI Applications deaktivujte inicializačné bloky odkazujúce na moduly Oracle BI Applications, ktoré už nepoužívate.
row_wise
, ktoré používajú rovnakú spoločnú oblasť pripojení a vracajú rovnaký dátový typ, použitím operátora UNION ALL
medzi dopytmi.
Príklad:
Init block 1: query1 Init block 2: query2 Merged init block: query1 union all query2
dual
alebo W_DUAL_G
, a vložte pevne kódovanú hodnotu do predvoleného inicializátora zodpovedajúcej premennej.select
.HIDE
je aktuálnou hodnotou pre tieto premenné) alebo ak nepoužívate riešenie Oracle Human Capital Management ako dátový zdroj systému Oracle BI Applications (v systéme Oracle BI Applications existuje 100 takýchto inicializačných blokov):
HR xxx Attribute yyy
row_wise
a používajú rovnakú spoločnú oblasť pripojení. Príklad:
Inicializačný blok 1 je založený na dopyte 1: select colA from tableA where….
Inicializačný blok 2 je založený na dopyte 2: select colB from tableB where….
Môžete ich zlúčiť do jedného inicializačného bloku pomocou takéhoto dopytu:
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
Môžete použiť toľko operátorov union, koľko potrebujete, aby ste v jednom dopyte načítali všetky premenné z rovnakej spoločnej oblasti pripojení.
Implementácia alebo údržba nie je jednoduchá a môže sa stať, že pri vytváraní dopytov a priraďovaní všetkých premenných do jedného inicializačného bloku spravíte chybu.
Ak riadne implementujete a spravujete dopyty a premenné inicializačného bloku, môžete podstatne skrátiť čas potrebný na prihlásenie a zobrazenie prvej stránky panela.