Korzystanie z zapytań podrzędnych w Direct Discovery
Jeśli liczebność pola klucza łączącego tabelę jest wysoka, czyli pole to zawiera dużą liczbę odrębnych wartości, dokonanie selekcji w Qlik Sense może wygenerować bardzo dużą instrukcję
Aby zilustrować to działanie, w przykładzie tym tabela produktów (
Utworzono również wykres z wymiarem
Scenariusz 1: Niska liczebność
W tym scenariuszu tabela produktów zawiera niską liczbę odrębnych produktów (266). Po dokonaniu selekcji wartości
Wygenerowane zapytanie
Scenariusz 2: Korzystanie z zapytań podrzędnych
Jeśli w tym samym przykładzie liczba odrębnych produktów byłaby wyższa, na przykład 20 tys., wybranie filtra wymiaru, na przykład
W zamian można zezwolić Qlik Sense na utworzenie zapytań podrzędnych. W tym celu należy nadać parametrowi DirectEnableSubquery wartość true. Wygenerowana instrukcja
Rozmiar klauzuli WHERE ProductID IN nie zależy już od liczby kluczy wynikającej z dokonanej selekcji.
Stosowanie zapytań podrzędnych wiąże się z następującymi ograniczeniami:
- Składnia zapytań podrzędnych jest wywoływana tylko po dokonaniu selekcji danych obejmującym filtrowanie wykresu za pomocą danych z innej tabeli.
- Czynnikiem decydującym jest ilość danych w kluczach, a nie liczba kluczy.
- Zapytania podrzędne są wywoływane tylko wówczas, gdy wszystkie stosowne tabele są w trybie Direct Discovery. Jeśli wykres jest filtrowany za pomocą danych z tabeli w trybie opartym na pamięci głównej, wygenerowana zostanie klauzula IN.