ZDARZENIA Table Materialized

Z Net47 2.0
Skocz do: nawigacji, wyszukiwania

Zmienna ZDARZENIA_Table_Materialized definiuje czy korzystamy w terminarz ze zwykłego widoku czy ze zmaterializowanego. Domyślną wartością jest 0 (oznacza widok zwykły). Może przyjąć wartość 1 (oznacza widok zmaterializowany)

Dla małych firm wartość wynosi 0. Nic nie stoi na przeszkodzie by to zmienić.

Dla średnich firm wartość można zmienić na 1, (albo przenosić regularnie zdarzenia zamknięte do archiwum, by zmniejszyć ilość składanych danych - [opcja jeszcze nie dostępna (2016-04-08) ]).

Dla dużych firm, które odczuwają spowolnienie w działaniu terminarza wartość należy zmienić na 1.

Spis treści

Dostępne wartość zmiennej

0
1


Widok zwykły [0]

Tabela którą widzimy jest składana (z wielu innych) za każdym razem kiedy chcemy obejrzeć terminarz. Zaletą tego rozwiązania jest to że zawsze posiadamy aktualne dane z "teraz". Wadą natomiast, że w przypadku dużej ilości wpisów w terminarzu (6.000/8.000/10.000 lub więcej). Czas potrzebny na złożenie widoku wydłuża się drastycznie.

Przykład (dla wizualizacji problemu): Posiadamy 10 kuleczek i 10 pudełeczek w różnych 10 kolorach, jeżeli otrzymamy zadanie by włożyć kuleczkę do pudełeczka o tym samym kolorze zajmie nam to X czasu (dokonamy "55 porównań" w najgorszym wypadku). Po zwiększeniu ilości danych 10-krotnie (100 kuleczek i 100 pudełeczek w 100 kolorach) potrzebujemy na dopasowanie koloru kuleczki i pudełeczka około 92x więcej czasu (5050 porównań w najgorszym wypadku).

Widok zmaterializowany [1]

Tabela którą widzimy została już złożona (z wielu innych) wcześniej. Jeżeli ktoś dokona zmiany danych, wówczas tabela zostanie złożona na nowo. Zaletą tego rozwiązania jest to że tabela jest składana tylko kiedy dane zostaną zmienione. Wadą: Jeżeli będziemy chcieli tą tabelę wyświetlić (a będzie ona właśnie w tej chwili w trakcie składania), to otrzymamy nieco starsze dane (o kilka/kilkanaście sekund).


Ikony Stanu

W terminarzu dla widoku zmaterializowanego pojawiają się 3 ikonki statusu (od prawej do lewej):

Gotowa [Zielony] - Widok jest aktualny

Zmieniona [Pomarańczowy] - Ktoś przed chwilą zmodyfikował dane. Przez 3 sekundy widok nie jest jeszcze odświeżany (czeka na ew. kolejne zmiany). Jeżeli po 3 sekundach nie będzie kolejnych zmian, a ktoś zażąda pobrania danych, wówczas dane zostaną złożone na nowo. Teoretycznie, jeżeli 30 osób w odstępach 2 sekundowych będzie modyfikować dane, wówczas widok przez 60 sekund nie odświeży się. Jeżeli pobrałeś właśnie dane, to są one nieco nieaktualne.

Odświeżanie [Czerwony] - Tabela jest właśnie składana. Jeżeli pobrałeś właśnie dane, to są one nieco nieaktualne.


Zmiana wartości z 0 na 1

Jeżeli postanowimy włączyć widok zmaterializowany, po zmianie należy:

- Każdy zalogowany użytkownik powinien przelogować się do systemu NET47 by zacząć korzystać z widoków zmaterializowanych.

- Można odświeżyć widok zmaterializowany (ponieważ ten pochodzi z godziny 00:00) komendą SQL:

REFRESH MATERIALIZED VIEW CONCURRENTLY client.view_terminarz_getall2;

- Jeżeli nie chcemy tego robić, to najlepiej tą zmienną zmienić przed rozpoczęciem pracy (7:55? zanim ktokolwiek coś zmieni od północy) albo po jej zakończeniu (17:05?). Ostatecznie możemy dopisać/wypisać osobę ze zdarzenia, lub dodać nowe zdarzenie, by wymusić ponowne odświeżenie widoku.

Osobiste
Przestrzenie nazw
Warianty
Działania
Nawigacja
Konfiguracja Systemu
Szablony
API
PostgreSQL
Narzędzia
MENU