Małe ładunki danych — ogranicz ilość otrzymywanych danych

Jednym z najważniejszych wzorców w przypadku korporacyjnych aplikacji do obsługi danych jest ograniczenie rozmiaru pobieranych danych do Power Apps. Jeśli ładunki danych są małe, prawie wszystko inne staje się łatwiejsze. Kontrolki Galeria i Tabela robią to automatycznie, gdy połączysz się bezpośrednio z źródło danych we właściwości Elementy. Na przykład po bezpośrednim połączeniu ze zdalnym źródło danych, Galeria steruje stronami danych w małych odstępach, na przykład 100 rekordów. To ustawienie domyślne wykorzystuje fakt, że użytkownik końcowy rzadko potrzebuje więcej niż stu rekordów do wykonania zadania użytkownika.

Używanie delegowania

Jednym z kluczowych sposobów utrzymywania małych ładunków danych jest poleganie na źródło danych, który wykona pracę za Ciebie, zanim to nastąpi w Power Apps. Delegacja jest kiedy Power Fx potrafi przetłumaczyć wyrażenie Power Fx na wyrażenie zapytania, które źródło danych, takie jak Dataverse, serwer SQL Server, SharePoint, a program Excel radzi sobie sam. I wtedy Power Fx deleguje to zapytanie lub przekazuje odpowiedzialność za wykonanie zapytania, czyli połączenie danych, do źródło danych. Źródło danych generuje poprawne dane i zwraca je do Power Apps.

Kiedy źródło danych jest powiązany bezpośrednio z galerią lub tabelą, dane są stronicowane lub przekazywane z powrotem do Power Apps w małych, wydajnych przyrostach po 100 rekordów. Różne źródła danych mają różne możliwości. Dataverse, na przykład, ma o wiele więcej możliwości filtrowania danych na serwerze niż Excel. Dobrym przykładem są CountRows i CountIf. Dataverse obsługuje CountRows w ograniczony sposób. Dataverse okresowo oblicza rozmiar tabeli i utrzymuje tę wartość na stałym poziomie. Po wywołaniu CountRows otrzymujesz tę wartość. W ten sposób nie musi wykonywać pełnego skanowania tabeli, aby uzyskać dokładną liczbę dla każdego wywołania CountRows. Ale Dataverse obsługuje również dokładną liczbę za pomocą CountIf do 50 000 wierszy. Zapewnia te dwie różne możliwości, aby pomóc zachować dobrą wydajność serwera Dataverse. W przeciwieństwie, SharePoint nie obsługuje tej funkcji. Zatem, wyrażenie Power Fx z CountRows lub CountIf dla SharePoint nie jest delegowane. Zamiast tego, Power Apps pobiera ograniczoną liczbę wierszy, 500–2000. Power Fx działa lokalnie na rekordach 500/2000 i zwraca wynik. Jeśli Twoje dane są zawsze mniejsze niż 500/2000 rekordów, to podejście może zadziałać. Jeśli jednak jest większa niż 500/2000 rekordów, wyniki mogą być nieprawidłowe.

Unikaj zbyt wielu kolumn

Domyślnie Power Apps oblicza rzeczywiste kolumny potrzebne dla danego zapytania przy użyciu wywołania funkcji Jawnego wyboru kolumn. Ta funkcja jest domyślnie włączona we wszystkich nowych aplikacjach. Aby włączyć funkcję jawnego wyboru kolumn w aplikacji kanwy, wybierz menu Ustawienia > Nadchodzące funkcje > Wersja zapoznawcza > włącz przełączenie Jawny wybór kolumny

Sugestie

Aby osiągnąć cel, jakim jest mały ładunek danych, rozważ następujące pytania i sugestie:

  1. Staraj się, aby domyślne zapytanie dotyczące galerii lub tabeli zwracało tylko około 100–200 rekordów. Jeśli używasz zapytania delegowalnego, dzieje się to automatycznie. Jeśli odpytujesz interfejs API lub inne źródło, które nie obsługuje delegowania, użyj parametrów, aby zawęzić wyniki.

    • Rozważ użycie widoku opartego na źródło danych, który automatycznie filtruje dane. Większość aplikacji klasy korporacyjnej w dużym stopniu korzysta z widoków na źródło danych.
    • Rozważ użycie domyślnych wartości wyszukiwania lub filtrów w celu określenia zakresu danych.
    • Rozważ wymaganie argumentów wyszukiwania w interfejsie użytkownika przed wyświetleniem danych.
    • Rozważ następujące pytania dotyczące Twojej aplikacji:
      • Co jest domyślnie potrzebne na danym ekranie?
      • Jakich danych tak naprawdę potrzebuje użytkownik końcowy, aby podjąć dane działanie biznesowe?
      • Użytkownicy zazwyczaj nie potrzebują tysięcy rekordów na ekranie początkowym, aby wykonać zadanie.
  2. Zacznij budować zapytanie dotyczące galerii lub tabeli, korzystając z tabel delegacji dla swojego źródło danych. Wybierz tylko funkcje obsługiwane dla swojego zapytania. Jeśli swojego zapytania nie można delegować, co możesz zrobić, aby można było je delegować?