Często zdarza się, że analizy zawierają nieużywane kolumny. Kolumny, które nie są wymagane, ale pozostają wybrane, znacznie obniżają wydajność. W tym temacie opisano, jak poprawić wydajność poprzez usunięcie wszelkich kolumn, które nie są wymagane.
Identyfikowanie nieużywanych kolumn
Year
), wpływa negatywnie na wydajność poprzez:
Na poniższym rysunku pokazano prosty raport z liczbą klientów według regionu i roku.
Wyświetlony raport to wykres przedstawiający liczbę klientów według regionu. Można zauważyć, że kolumna Year
jest wykluczona.
Zapytanie logiczne z nieużywaną kolumną "Rok"
Mimo że kolumna Year
nie jest wyświetlana w widoku, jest ona nadal zaznaczona jako część zapytania logicznego.
Year
ma następujące skutki:
Zapytanie fizyczne z nieużywaną kolumną "Rok"
Podczas sprawdzania zapytania fizycznego można zidentyfikować obszary, w których wydajność jest obniżona.
W tym przykładzie pokazano instrukcję SELECT count distinct
z reguły agregacji liczby klientów. W niektórych sytuacjach ma to również wpływ na raporty z regułą agregacji "Suma". W zapytaniu wygenerowanym w tym scenariuszu użyty jest również zestaw grupujący. Na poziomie bazy danych może to oznaczać wybieranie wielu (milionów) wierszy, a następnie grupowanie ich według kategorii Year
i Region
, a także Region
. Może to powodować niepotrzebne wykorzystywanie znacznych zasobów bazy danych.
Usuwanie nieużywanych kolumn
Należy usunąć kolumnę Year
i przeanalizować wpływ tego działania na generowane zapytania logiczne i fizyczne.
Zapytanie logiczne po usunięciu kolumny "Rok"
Teraz zapytanie logiczne nie zawiera kolumny Year
, a co ważniejsze, usunięta została agregacja raportu.
Zapytanie fizyczne po usunięciu kolumny "Rok"
Zapytanie fizyczne jest teraz znacznie prostsze, ponieważ nie zawiera zestawów grupujących; zdecydowanie zmniejszyła się też liczba wybranych rekordów.
Sprawdzenie analizy nieefektywnych raportów, a przede wszystkim zwykłe usunięcie zbędnych, nieużywanych kolumn, pozwala osiągnąć znaczny wzrost wydajności. Wygenerowane zapytanie fizyczne jest o wiele prostsze i powoduje zwrócenie mniejszej liczby rekordów, co pozwala skrócić przetwarzanie.