...
- po štarte procesu
- po uložení vypočítaného archívneho objektu
- po zmene veľkosti štruktúrovanej premennej, ktorá je vo vypočítanom archívnom objekte použitá.
Prepočet štatistických a vypočítaných archívnych objektov je vykonávaný v dôsledku:
- Zmeny hodnoty primárneho archívneho objektu, ktorý je použitý v štatistickom alebo vypočítanom archívnom objekte.
- Explicitnej požiadavky na prepočet, ktorou môže byť tell príkaz príkaz RECALC (zadaný užívateľom alebo pomocou akcie COMMAND) alebo akcia CALCONDEMANDSTAT.
...
D2000 Archív teda udržuje automaticky konzistenciu dát archívnych objektov, pokiaľ majú nastavený Výpočet ako Priebežný, ale nie pokiaľ je nastavený Na požiadanie. V akcii CALCONDEMANDSTAT sa dá parametrom bCalcDepend=@False špecifikovať, že sa nemajú prepočítavať závislé objekty; podobne tell príkaz RECALC má voľbu NODEPEND s rovnakým významom.
Pokiaľ prepočítavame viacero archívnych objektov, tak vo výpočte dochádza k nasledovným optimalizáciamoptimalizáciám:
Optimalizácia jedného prepočtu
...
Táto optimalizácia môže spôsobiť problém v jednom prípade: ak časť vypočítaných/štatistických archívov má nastavený Výpočet ako Priebežný a na nich závislé zase Na požiadanie. Tie prvé sa počítajú aj priebežne, automaticky; takže pri užívateľsky vyvolanom prepočte budú vyoptimalizované - a následné výpočty závislých archívov (počítaných na požiadanie) sa neuskutočnia. Tento problém má možné riešenia:
- Tell príkaz RECALC má voľbu FORCEONDEMAND, ktorá vynucuje prepočet závislých archívnych objektov, ak majú nastavený Výpočet ako Na požiadanie.
- Prekonfigurovanie všetkých závislých archívov ako priebežne počítaných (toto môže mať ale negatívny vplyv na výkon D2000 Archívu).
- Prekonfigurovanie všetkých závislých archívov ako počítaných na požiadanie (toto môže spôsobiť problém, ak sú niektoré z vypočítaných archívoch potrebné priebežne).
- Pridanie triggra (primárneho archívu) do výrazu na požiadanie počítaných archívov. Takýto trigger spôsobí, že budú vypočítané, keďže primárny archív sa síce nepočíta, ale vždy vráti, že nebol zoptimalizovaný.
...