Údržba inicializačných blokov

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:

  • Deaktivujte všetky inicializačné bloky, ktoré nepotrebujete.

    Napríklad v systéme Oracle BI Applications deaktivujte inicializačné bloky odkazujúce na moduly Oracle BI Applications, ktoré už nepoužívate.

  • Okrem prípadov, keď existuje pravidlo priority, zlúčte všetky inicializačné bloky 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
  • Deaktivujte všetky inicializačné bloky, ktoré vyberajú pevne kódovanú hodnotu z tabuľky dual alebo W_DUAL_G, a vložte pevne kódovanú hodnotu do predvoleného inicializátora zodpovedajúcej premennej.
  • Zlúčte zostávajúce inicializačné bloky, ktoré vyberajú dáta z tabuľky dual, do jedného príkazu select.
  • Zákazníkom systému Oracle BI Applications deaktivujte všetky inicializačné bloky, ktoré sa používajú na načítanie názvov a hodnôt vlastných atribútov Oracle Human Capital Management, ak sa zodpovedajúci atribút nepoužíva. (Ak štandardná predvolená hodnota 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
  • Zlúčte všetky zostávajúce inicializačné bloky, ktoré nie sú typu 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.