Co to jest skanowanie całej tabeli?

Pełne skanowanie tabeli jest jednym z najwolniejszych, ale najdokładniejszych sposobów skanowania bazy danych. Powodem, dla którego ta metoda skanowania jest tak powolna, jest to, że baza danych odczytuje każdy wiersz i sprawdza, czy co najmniej jedna kolumna jest prawidłowa dla zapytania lub warunku narzuconego przez administratora. Najczęstszym wyzwalaczem pełnego skanowania tabeli jest to, że baza danych nie zawiera wiersza indeksu, z którego można uruchomić zapytanie. Zwykle lepiej jest przeskanować tabelę ręcznie, jeśli szukasz jednego wiersza, ale jeśli szukasz więcej lub jeśli przeszukujesz dużą tabelę, skanowanie całej tabeli będzie lepsze.

Bazy danych są wyposażone w funkcje skanowania, które przeszukują tabele w celu znalezienia informacji lub sprawdzenia tabeli, aby upewnić się, że spełnia warunek. Pełne skanowanie tabeli jest najdokładniejszym skanowaniem, ponieważ nawet jeśli znajdzie wiersz spełniający warunek, będzie kontynuował skanowanie pozostałych wierszy. Ta funkcja jest droga, co oznacza, że ​​wykorzystuje dużą ilość pamięci, ponieważ skanowanie odczytuje i zapisuje w każdym wierszu, a także wykonuje wielokrotne próby dokładnego sprawdzenia wiersza. Pełne skanowanie jest potrzebne, gdy wykonywane jest zapytanie lub funkcja, ale baza danych nie widzi indeksu do uruchomienia zapytania.

Indeks to kolumna w tabeli, która indeksuje informacje o tabeli zgodnie z preferencjami administratora. Na przykład, jeśli administrator chce zindeksować informacje o nazwiskach, kolumna indeksu zapisze pozycję każdego nazwiska. Pomaga to zarówno administratorowi, jak i bazie danych znaleźć informacje ukryte głęboko w bazie danych. Jeśli w tabeli nie znajduje się żaden indeks, pełne skanowanie tabeli zwykle rozpocznie się automatycznie, aby umożliwić wykonanie zapytania.

Tak dużo pamięci jest przydzielone do pełnego skanowania tabeli i jest tak dokładne, że pełne skanowanie jest bardzo powolne. Jeśli administrator potrzebuje tylko jednego lub kilku wierszy dla zapytania, zwykle szybciej jest po prostu zbudować mały indeks. Chociaż jest to prawdą, jeśli zapytanie jest duże, pełne skanowanie może faktycznie działać szybciej. Jeśli administrator tworzy zapytanie, które dotyczy 5 procent lub więcej całej bazy danych, pełne skanowanie zwykle będzie w stanie wykonać tę funkcję szybciej niż administrator wykonujący tę samą czynność ręcznie.

Administrator często korzysta z funkcji „WYJAŚNIJ PLAN”, która wykona szybkie skanowanie tabeli. To pokaże administratorowi, czy dla zapytania potrzebny jest indeks. Pobierając wyniki, administrator będzie wiedział, czy zapytanie może zostać uruchomione tak, jak jest, czy powinien utworzyć lub wyszukać indeks lub czy wykonanie pełnego skanowania tabeli będzie skuteczne.