Hva er en fullbordsscanning?
En full tabellskanning er en av de tregeste, men mest grundige måtene å skanne en database på. Årsaken til at denne skannemetoden er så treg, er at databasen leser hver rad og sjekker om en eller flere kolonner er gyldige for et spørsmål eller betingelse som er pålagt av administratoren. Den vanligste utløseren for en full tabellskanning er at databasen ikke inneholder en indeksrekke som spørringen kan starte fra. Det er vanligvis bedre å skanne bordet manuelt hvis du ser etter en rad, men hvis du ser etter mer eller hvis du ser gjennom et stort bord, vil hele tabellen skanne fungere bedre.
Databaser har skannefunksjoner som ser gjennom tabeller for å finne informasjon eller for å sjekke tabellen for å sikre at den kan oppfylle en betingelse. En fullstendig tabellscanning er den mest grundige skanningen, selv om den finner en rad som samsvarer med tilstanden, vil den fortsette å skanne gjennom resten av radene. Denne funksjonen er dyr, noe som betyr at den bruker en stor mengde minne, fordi skanningen leser og skriver til hver rad og også utfører flere søker for å sjekke raden grundig. En full skanning er nødvendig når en spørring eller funksjon utføres, men databasen ser ikke en indeks for å kjøre spørringen.
En indeks er en kolonne i en tabell som indekserer informasjon om tabellen i henhold til administratorens preferanser. Hvis administrator for eksempel ønsker å indeksere informasjon om navn, vil indekskolonnen registrere plasseringen til hvert navn. Dette hjelper både administrator og database med å finne informasjon gjemt dypt i databasen. Hvis ingen indeks er plassert i tabellen, vil en fullstendig tabellscanning vanligvis starte automatisk for å la en spørring løpe.
Så mye minne blir tildelt en full tabellskanning, og det er så grundig at full skanning går veldig tregt. Hvis administratoren bare trenger en eller noen få rader for spørringen, er det vanligvis raskere bare å lage en liten indeks. Selv om dette stemmer, kan spørringen faktisk virke raskere hvis spørringen er stor. Hvis administratoren lager et spørsmål som berører 5 prosent eller mer av hele databasen, vil en full skanning vanligvis kunne utføre funksjonen raskere enn administratoren som gjør det samme manuelt.
En administrator vil ofte bruke en "EXPLAIN PLAN" -funksjon, som vil utføre en rask skanning av tabellen. Dette vil vise administratoren om det er nødvendig med en indeks for spørringen. Ved å ta resultatene vil administratoren vite om spørringen kan løpe som den er, om han eller hun skal lage eller søke etter en indeks, eller om det er effektivt å utføre en fullstendig tabellskanning.