Teradata - tuning wydajności

W tym rozdziale omówiono procedurę dostrajania wydajności w programie Teradata.

Wyjaśnić

Pierwszym krokiem w dostrajaniu wydajności jest użycie EXPLAIN w zapytaniu. Plan EXPLAIN zawiera szczegółowe informacje o tym, jak optymalizator wykona Twoje zapytanie. W planie wyjaśnienia sprawdź słowa kluczowe, takie jak poziom zaufania, zastosowana strategia łączenia, rozmiar pliku buforowania, redystrybucja itp.

Zbieraj statystyki

Optymalizator wykorzystuje dane demograficzne do opracowania skutecznej strategii wykonania. Polecenie ZBIERZ STATYSTYKI służy do zbierania danych demograficznych tabeli. Upewnij się, że statystyki zebrane w kolumnach są aktualne.

  • Zbierz statystyki dotyczące kolumn używanych w klauzuli WHERE oraz kolumn używanych w warunku łączenia.

  • Zbierz statystyki w kolumnach Unique Primary Index.

  • Zbierz statystyki dotyczące nieunikalnych kolumn indeksu dodatkowego. Optimizer zdecyduje, czy może używać NUSI czy pełnego skanowania tabeli.

  • Zbieraj statystyki dotyczące indeksu łączenia, chociaż gromadzone są statystyki dotyczące tabeli bazowej.

  • Zbierz statystyki dotyczące kolumn partycjonowania.

Typy danych

Upewnij się, że używane są odpowiednie typy danych. Pozwoli to uniknąć nadmiernego przechowywania, niż jest to wymagane.

Konwersja

Upewnij się, że typy danych kolumn używanych w warunku sprzężenia są zgodne, aby uniknąć jawnych konwersji danych.

Sortować

Usuń niepotrzebne klauzule ORDER BY, chyba że jest to wymagane.

Problem z przestrzenią szpulową

Błąd miejsca w buforze jest generowany, jeśli zapytanie przekracza limit miejsca na buforowanie AMP dla tego użytkownika. Sprawdź plan wyjaśniania i zidentyfikuj krok, który zajmuje więcej miejsca na buforowanie. Te zapytania pośrednie można podzielić i umieścić osobno w celu utworzenia tabel tymczasowych.

Indeks podstawowy

Upewnij się, że indeks podstawowy jest poprawnie zdefiniowany dla tabeli. Podstawowa kolumna indeksu powinna równomiernie rozprowadzać dane i powinna być często używana do uzyskiwania dostępu do danych.

Zestaw tabeli

Jeśli zdefiniujesz tabelę SET, optymalizator sprawdzi, czy rekord jest zduplikowany dla każdego wstawionego rekordu. Aby usunąć zduplikowany warunek sprawdzenia, możesz zdefiniować unikalny indeks pomocniczy dla tabeli.

UPDATE na dużym stole

Aktualizacja dużej tabeli będzie czasochłonna. Zamiast aktualizować tabelę, możesz usunąć rekordy i wstawić rekordy ze zmodyfikowanymi wierszami.

Upuszczanie tabel tymczasowych

Usuń tabele tymczasowe (tabele pomostowe) i składniki lotne, jeśli nie są już potrzebne. Zwolni to stałą przestrzeń i miejsce na szpulę.

Stół MULTISET

Jeśli masz pewność, że rekordy wejściowe nie będą miały zduplikowanych rekordów, możesz zdefiniować tabelę docelową jako tabelę MULTISET, aby uniknąć sprawdzania zduplikowanych wierszy używanego przez tabelę SET.