Optimalizace krychle pro hybridní režim

Chcete-li hybridní režim využít co nejefektivněji:

  • V hybridním režimu se vyhněte dvoufázovým výpočtům. Místo toho použijte pořadí řešení.

  • Kdykoli je to proveditelné, převést uložené prvky nenulové úrovně na dynamický výpočet.

  • Pokud převod na prvky dynamického výpočtu ovlivní pořadí řešení závislých vzorců, možná bude nutné upravit pořadí dimenzí osnovy tak, aby se pořadí řešení shodovalo s předchozím pořadím dávkového výpočtu a nastavením dvoufázového výpočtu.

    Výchozí pořadí řešení pro krychle hybridního režimu se podobá pořadí výpočtu krychlí blokového úložiště, a obnáší několik vylepšení. Pokud chcete použít jiné než výchozí pořadí řešení, můžete nastavit vlastní pořadí řešení pro dimenze a prvky.

  • Dynamicky vypočtený vzorec zpracovaný v nesprávném pořadí řešení může způsobit, že dotaz spustí příliš vysoký počet vzorců a dojde ke zhoršení výkonu. Kdykoli je to možné, měl by dynamicky vypočtený řídký vzorec mít vyšší pořadí řešení než hierarchicky agregované řídké dimenze.

    V některých aplikacích to možné není, protože k získání správných výsledků vzorce je potřeba jiné pořadí řešení. Aby mohla například aplikace s jednotkami a cenami získat správnou hodnotu prodeje v horních úrovních, potřebuje spustit hodnotu prodeje před řídkými agregacemi.

  • Může být nutné upravit husté nebo řídké konfigurace dimenzí (platí pouze pro využití modulu blokového úložiště v případech, kdy nelze použít hybridní modul).

  • Pokud je to možné, minimalizujte velikost bloků.

Správci systému Essbase mohou ke sledování a optimalizaci výkonu dotazů v hybridním režimu používat následující nástroje:

  • K omezení množství paměti spotřebované jedním dotazem použijte nastavení konfigurace MAXFORMULACACHESIZE.

  • Pokud krychle obsahuje komplexní vzorce prvků s mezi-dimenzionálními operátory a několika příkazy IF/ELSE, mohou problémy s výkonem souviset se spuštěním vzorce. Pokud se domníváte, že jde o tento důvod, můžete k výpočtu vzorce aktivovat zpracování dotazu zdola nahoru. Identifikováním potřebných průniků k výpočtu se optimalizují doby dotazu, protože doby dotazu pak proporčně odpovídají velikosti vstupních dat.

    Chcete-li provést tyto optimalizace dotazu ve vydání 21C, použijte nastavení konfigurace QUERYBOTTOMUP a také funkci pro výpočet @QUERYBOTTOMUP. Pro verzi 19C použijte konfigurační nastavení IGNORECONSTANTS se syntaxí BOTTOMUP a také výpočetní funkci @NONEMPTYTUPLE.

  • Výkon dotazu lze monitorovat a ladit pomocí trasování dotazu. V závislosti na daném případu použití je k dispozici několik nastavení konfigurace na úrovni aplikace. Ke krátkodobému ladění jednoho podezřelého dotazu použijte nastavení QUERYTRACE. Ke sběru statistických údajů o souběžně spuštěných dotazech použijte nastavení TRACE_REPORT (ideální pro ladění ve vývojovém prostředí). Pomocí nastavení LONGQUERYTIMETHRESHOLD můžete v produkčních prostředích tisknout do souboru protokolu aplikace statistické údaje o libovolných dotazech spuštěných déle než nastavený čas.