Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Tabela wynikowa

Termin Definicja
Tabela wynikowa

Tabela wynikowa to zbiór wierszy zwracany przez wykonanie zapytania SELECT.

Zbiór wierszy zwracany przez zapytanie

Tabela wynikowa powstaje w momencie wykonania zapytania i istnieje tylko na czas jego obsługi. Nie ma odzwierciedlenia w plikach bazy, nie ma nazwy i nie da się jej otworzyć później, chyba że zostanie zapisana do tabeli tymczasowej albo do zwykłej tabeli poleceniem tworzącym ją na podstawie wyniku. Jej struktura wynika z listy kolumn po słowie SELECT, przy czym kolumny obliczane, na przykład sumy i połączone teksty, otrzymują nazwy nadane aliasem albo nazwy zastępcze generowane przez silnik.

Wynik nie ma też z definicji ustalonej kolejności wierszy. Jeśli nie podano warunku sortowania, silnik może zwrócić dane w dowolnym porządku i przy kolejnym uruchomieniu porządek ten bywa inny.

Kursory, stronicowanie i przesyłanie wyniku do aplikacji

Aplikacja rzadko dostaje cały wynik naraz. Sterownik pobiera go partiami, a program przechodzi po wierszach kursorem, co ma znaczenie przy dużych zbiorach, bo pamięć stacji roboczej nie pomieściłaby milionów rekordów. Stąd bierze się stronicowanie w raportach oraz mechanizmy ograniczające liczbę zwracanych wierszy. Warto rozróżnić widok, czyli zapisane zapytanie wykonywane na żądanie, od tabeli tymczasowej, w której wynik zostaje materialnie zapisany na czas sesji.

Kolejna warstwa to prawa dostępu, bo użytkownik zobaczy w wyniku tylko te kolumny i wiersze, do których ma uprawnienia, co potrafi tłumaczyć różnice w raportach między dwoma stanowiskami.

Puste wyniki i raporty, które się nie zgadzają

Najczęstsze zgłoszenie brzmi, że raport pokazuje zero pozycji, choć dane w programie są. Zwykle odpowiada za to warunek na dacie porównywanej z tekstem, złączenie wewnętrzne odrzucające rekordy bez odpowiednika w drugiej tabeli albo filtr uwzględniający dokumenty tylko jednego typu. Drugi typowy przypadek to zawyżone sumy po złączeniu, gdy jeden dokument ma kilka pozycji i wartość nagłówka zostaje policzona tyle razy, ile jest wierszy. Trzeci to zapytanie działające coraz wolniej, aż do przekroczenia limitu czasu, bo tabela urosła, a brakuje odpowiedniego indeksu. Czwarty to zawieszenie raportu przez blokadę założoną przez inną operację zapisu.

Raporty z programów handlowych, które przestały działać

Zgłoszenia od firm dotyczą zwykle nie samego SQL, lecz efektu: zestawienie sprzedaży nie chce się wygenerować albo pokazuje inne liczby niż miesiąc temu. Sprawdzamy wtedy stan bazy, indeksy, wielkość plików dziennika i wydajność serwera, a przy uszkodzeniach odtwarzamy dane z kopii. Zajmujemy się wdrażaniem i serwisem oprogramowania handlowego, więc naprawę doprowadzamy do momentu, w którym raport znów się zgadza, a nie do samego rozpoznania przyczyny. Działamy całą dobę, także w dni wolne, gdy zamknięcie miesiąca nie może czekać.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę