Jak najbardziej efektywnie korzystać z trybu hybrydowego:
W trybie hybrydowym należy unikać obliczania dwuprzebiegowego. Zamiast tego należy użyć odpowiedniej kolejności rozwiązywania.
Jeśli jest to możliwe, przekształcić składowane elementy poziomu niezerowego w elementy obliczane dynamicznie.
Jeśli konwersja do elementów obliczanych dynamicznie wpływa na kolejność rozwiązywania formuł zależnych, to być może trzeba dostosować kolejność wymiarów w strukturze, tak aby dopasować kolejność rozwiązywania do poprzedniej kolejności obliczeń wsadowych i ustawień obliczania dwuprzebiegowego.
Domyślna kolejność rozwiązywania dla kostek trybu hybrydowego jest podobna (z pewnymi usprawnieniami) do kolejności obliczeń dla kostek stanowiących wolumen blokowy. Zamierzając używać kolejności rozwiązywania innej niż domyślna, można ustawić dla wymiarów i elementów niestandardową kolejność rozwiązywania.
Dynamicznie obliczana formuła, przetwarzana w niewłaściwej kolejności rozwiązywania, może się przyczynić do wykonywania zbyt wielu formuł przez zapytanie, prowadząc do pogorszenia wydajności. Jeśli jest to możliwe, dynamicznie obliczana formuła dla elementów rzadkich powinna mieć ustawiony numer kolejności rozwiązywania wyższy niż przyjęty dla dynamicznie agregowanych wymiarów rzadkich.
W niektórych aplikacjach nie jest to możliwe, ponieważ do uzyskania poprawnych wyników formuły jest wymagana inna kolejność rozwiązywania. Na przykład aplikacja, w której są używane jednostki i ceny, musi — aby uzyskać na wyższych poziomach poprawne wartości sprzedaży — mieć przed agregacjami elementów rzadkich obliczaną wartość sprzedaży.
Może okazać się konieczne dostosowanie konfiguracji "gęste" lub "rzadkie" wymiarów (tylko w przypadku korzystania z motoru trybu ze składowanie bloków, gdy nie można użyć motoru trybu hybrydowego).
Jeśli jest to możliwe, należy zminimalizować rozmiar bloków.
Administratorzy Essbase mogą używać następujących narzędzi do monitorowania i optymalizowania wydajności zapytań w trybie hybrydowym:
W celu ograniczenia ilości pamięci zajmowanej przez każde z zapytań można użyć ustawienia konfiguracyjnego MAXFORMULACACHESIZE.
Jeśli kostka zawiera wiele złożonych formuł elementów z operatorami obejmującymi różne wymiary i z wieloma instrukcjami IF/ELSE, problemy z wydajnością mogą być związane z wykonywaniem formuł. W takiej sytuacji można aktywować oddolne (bottom-up) przetwarzanie zapytań dla obliczeń formuł. Wskutek identyfikacji części wspólnych, wymaganych dla obliczeń, optymalizuje to czas zapytań, czyniąc go proporcjonalnym do rozmiaru danych wejściowych.
Aby dokonać tych optymalizacji zapytań dla wydania 21C, należy użyć ustawienia konfiguracyjnego QUERYBOTTOMUP oraz funkcji obliczeniowej @QUERYBOTTOMUP. W przypadku wydania 19C należy użyć ustawienia konfiguracyjnego IGNORECONSTANTS ze składnią BOTTOMUP oraz funkcji obliczeniowej @NONEMPTYTUPLE.
Do monitorowania wydajności zapytań i wykrywania w nich błędów można używać śledzenia zapytań. Dostępne są różne ustawienia konfiguracyjne poziomu aplikacji, zależne od przypadku użycia. Do szybkiego wykrywania błędów w jednym zapytaniu, które wydaje się stwarzać problemy, można użyć ustawienia QUERYTRACE. Do gromadzenia statystyk równolegle wykonywanych zapytań można użyć ustawienia TRACE_REPORT (idealne do wykrywania błędów w środowisku programistycznym). W środowisku produkcyjnym można użyć właściwości LONGQUERYTIMETHRESHOLD do rejestrowania — w pliku dziennika aplikacji — statystyk zapytań wykonywanych dłużej niż ustawiony czas.