Częściowe ładowanie
Pełne ładowanie zawsze rozpoczyna się od usunięcia wszystkich tabel w istniejącym modelu danych, a następnie uruchamiany jest skrypt ładowania.
Inaczej jest w przypadku częściowego ładowania. Zamiast tego zachowuje ono w modelu danych wszystkie tabele, a następnie wykonuje tylko instrukcje Load i Select poprzedzone prefiksem Add, Merge lub Replace. Polecenie to nie wpływa na inne tabele danych. Argument only oznacza, że instrukcja powinna być wykonywana tylko podczas częściowego ładowania i pomijana podczas pełnego ładowania. W poniższej tabeli podsumowano wykonanie instrukcji dla częściowego i pełnego ładowania.
Instrukcja | Pełne ładowanie | Częściowe ładowanie |
---|---|---|
Load ... | Instrukcja zostanie uruchomiona | Instrukcja nie zostanie uruchomiona |
Ładowanie z instrukcjami Add/Replace/Merge... | Instrukcja zostanie uruchomiona | Instrukcja zostanie uruchomiona |
Ładowanie z instrukcjami Add/Replace/Merge Only... | Instrukcja nie zostanie uruchomiona | Instrukcja zostanie uruchomiona |
Częściowe ładowanie ma w porównaniu z pełnym kilka zalet:
-
Jest szybsze, ponieważ wystarczy załadować tylko ostatnio zmienione dane. Przy dużych zestawach danych różnica jest znacząca.
-
Wykorzystuje się mniej pamięci, ponieważ ładuje się mniej danych.
-
Jest bardziej niezawodne, ponieważ zapytania wysyłane do danych źródłowych działają szybciej, co zmniejsza ryzyko problemów z siecią.
Wykonaj częściowe ładowanie za pomocą przycisku Ładuj. Więcej informacji zawiera temat Przycisk. Możesz także użyć Qlik Engine JSON API.
Ograniczenia
Częściowe przeładowanie nie powiedzie się, jeśli będą występować polecenia z odniesieniami do tabel, które istniały podczas pełnego przeładowania, ale nie podczas częściowego.
Operacja częściowego ładowania może usunąć wartości z danych. Nie zostanie to jednak odzwierciedlone na liście wartości odrębnych, która jest tabelą obsługiwaną wewnętrznie. Zatem po wykonaniu operacji częściowego przeładowania lista będzie zawierać wszystkie wartości odrębne, które istniały w polu od ostatniego pełnego przeładowania Może być ich więcej niż istnieje obecnie po częściowym przeładowaniu. Ma to wpływ na wyniki funkcji FieldValueCount() i FieldValue(). Funkcja FieldValueCount() teoretycznie może zwrócić liczbę większą niż aktualna liczba wartości pól.