Údržba inicializačního bloku

Při použití nástroje Data Gateway nebo Remote Data Connector se službou Oracle Analytics Cloud vzniká při každém spuštění dotazu určitá režie.

Při spuštění sestavy si této dodatečné doby trvání nevšimnete, protože je kratší než 0,3 sekundy. Můžete však mít problémy s výkonem, pokud spouštíte mnoho (počet závisí na vašich požadavcích na výkon) inicializačních bloků, kdykoli se někdo přihlásí, protože dotazy inicializačních bloků se spouštějí sériově. Použití volby odloženého spuštění inicializačních bloků problém neřeší, protože inicializační bloky se spustí při otevření první stránky panelu.

To je problém, pokud používáte aplikaci Oracle BI Applications, protože se spouští více než dvě stě inicializačních bloků. V případě služby Oracle Analytics Cloud je nejlepším způsobem, jak se těmto problémům s výkonem vyhnout, snížení počtu inicializačních bloků.

Zde jsou naše doporučení, jak můžete snížit počet inicializačních bloků relace:

  • Deaktivujte všechny inicializační bloky, které ve skutečnosti nepotřebujete.

    Například v aplikaci Oracle BI Applications zakažte inicializační bloky odkazující na moduly aplikace Oracle BI Applications, které již nepoužíváte.

  • Kromě případů, kdy existuje pravidlo priority, slučte všechny inicializační bloky row_wise, které používají stejný fond připojení a vracejí stejný datový typ, pomocí UNION ALL mezi jejich dotazy.

    Například:

    Init block 1: query1
    
    Init block 2: query2
    
    Merged init block: query1 union all query2
  • Deaktivujte všechny inicializační bloky, které vybírají pevně zadanou hodnotu z příkazu dual nebo W_DUAL_G, a vložte pevně zadanou hodnotu do výchozího inicializátoru příslušné proměnné.
  • Spojte zbývající inicializační bloky, které vybírají data z příkazu dual, do jediného příkazu select.
  • U zákazníků aplikace Oracle BI Applications deaktivujte všechny inicializační bloky používané k načtení názvu a hodnot vlastních atributů Oracle Human Capital Management, pokud se příslušný atribut nepoužívá. (pokud je aktuální hodnotou těchto proměnných standardní výchozí hodnota „HIDE“) nebo pokud nepoužíváte Oracle Human Capital Management jako datový zdroj aplikace Oracle BI Applications (takových inicializačních bloků je v aplikaci Oracle BI Applications sto):
    HR xxx Attribute yyy
  • Spojte všechny zbývající inicializační bloky, které nejsou row_wise, a použijte stejný fond připojení. Například:

    Iniciační blok 1 je založen na dotazu1: select colA from tableA where....

    Iniciační blok 2 je založen na dotazu2: select colB from tableB where....

    Můžete je sloučit do jediného inicializačního bloku pomocí dotazu, např.:

    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 provést tolik sjednocení, kolik je potřeba k získání všech proměnných ze stejného fondu připojení v jednom dotazu.

To není snadné implementovat ani udržovat a při vytváření dotazů a přiřazování všech proměnných do jediného inicializačního bloku hrozí riziko chyb. Pokud pečlivě implementujete a udržujete dotazy a proměnné inicializačního bloku, můžete výrazně zkrátit dobu potřebnou k přihlášení a zobrazení první stránky panelu.