Što je skeniranje cijele tablice?

Potpuno skeniranje tablice jedan je od najsporijih, ali najtemeljitijih načina skeniranja baze podataka. Razlog zašto je ova metoda skeniranja toliko spora je taj što baza podataka čita svaki redak i provjerava jesu li jedan ili više stupaca valjani za upit ili uvjet koji nameće administrator. Najčešći okidač za potpuno skeniranje tablice je da baza podataka ne sadrži indeksni red iz kojeg se upit može pokrenuti. Obično je bolje skenirati tablicu ručno ako tražite jedan red, ali ako tražite više ili ako gledate kroz veliku tablicu, skeniranje cijele tablice će raditi bolje.

Baze podataka dolaze s funkcijama skeniranja koje pregledavaju tablice kako bi pronašle informacije ili provjerile tablicu kako bi se osiguralo da ispunjava uvjet. Skeniranje cijele tablice je najtemeljitije skeniranje jer, čak i ako pronađe redak koji odgovara uvjetu, nastavit će skenirati ostale redove. Ova je funkcija skupa, što znači da koristi veliku količinu memorije, jer skeniranje čita i piše u svaki red te također izvodi višestruko traženje kako bi temeljito provjerio red. Potrebno je potpuno skeniranje kada se izvrši upit ili funkcija, ali baza podataka ne vidi indeks za pokretanje upita.

Indeks je stupac u tablici koji indeksira informacije o tablici prema želji administratora. Na primjer, ako administrator želi indeksirati informacije o imenima, indeksni stupac zabilježit će poziciju svakog imena. To pomaže i administratoru i bazi podataka da pronađu informacije skrivene duboko u bazi podataka. Ako se u tablici ne nalazi indeks, skeniranje cijele tablice obično počinje automatski kako bi se omogućilo pokretanje upita.

Toliko je memorije dodijeljeno cijelom skeniranju tablice i toliko je temeljito da je potpuno skeniranje vrlo sporo. Ako administratoru treba samo jedan ili nekoliko redaka za upit, obično je brže samo izgraditi mali indeks. Iako je to točno, ako je upit velik, potpuno skeniranje zapravo može raditi brže. Ako administrator postavlja upit koji utječe na 5 posto ili više cijele baze podataka, potpuno skeniranje obično će moći izvršiti funkciju brže od administratora koji radi istu stvar ručno.

Administrator će često koristiti funkciju “EXPLAIN PLAN” koja će izvršiti brzo skeniranje tablice. Ovo će pokazati administratoru je li indeks potreban za upit. Uzimajući rezultate, administrator će znati može li se upit pokrenuti kako jest, treba li napraviti ili tražiti indeks ili će izvođenje cijelog skeniranja tablice biti učinkovito.