Skip to main content

Vad är en fullständig tabellskanning?

En fullständig tabellskanning är en av de långsammaste, men mest grundliga sätten att skanna en databas.Anledningen till att denna skanningsmetod är så långsam är att databasen läser varje rad och kontrollerar för att se om en eller flera kolumner är giltiga för en fråga eller villkor som administratören ställer.Den vanligaste triggeren för en fullständig tabellskanning är att databasen inte innehåller en indexrad från vilken frågan kan starta.Det är vanligtvis bättre att skanna tabellen manuellt om du letar efter en rad, men om du letar efter mer eller om du letar genom ett stort tabell kommer hela tabellskanningen att fungera bättre.

Databaser kommer med skanningsfunktioner som letar igenom tabeller för att hitta informationeller för att kontrollera tabellen för att säkerställa att den kan uppfylla ett villkor.En fullständig tabellskanning är den mest grundliga skanningen eftersom även om den hittar en rad som matchar tillståndet kommer den att fortsätta att skanna igenom resten av raderna.Denna funktion är dyr, vilket innebär att den använder en stor mängd minne, eftersom skanningen läser och skriver till varje rad och också utför flera sökande för att noggrant kontrollera raden.En fullständig skanning behövs när en fråga eller funktion utförs men databasen ser inte ett index för att köra frågan.

Ett index är en kolumn i en tabell som indexerar information om tabellen enligt administratörens preferens.Om administratören till exempel vill indexera information om namn kommer indexkolumnen att registrera positionen för varje namn.Detta hjälper både administratören och databasen att hitta information dold djupt i databasen.Om inget index finns i tabellen börjar en fullständig tabellskanning vanligtvis automatiskt så att en fråga kan köras.

Så mycket minne tilldelas en fullständig tabellskanning och det är så grundligt att en fullständig skanning är mycket långsam.Om administratören bara behöver en eller några rader för frågan är det vanligtvis snabbare bara för att bygga ett litet index.Även om detta är sant, om frågan är stor, kan den fulla skanningen faktiskt fungera snabbare.Om administratören gör en fråga som påverkar 5 procent eller mer av hela databasen kommer en fullständig skanning vanligtvis att kunna utföra funktionen snabbare än administratören som gör samma sak manuellt.

En administratör kommer ofta att använda en "förklara plan”Funktion, som kommer att utföra en snabb skanning av tabellen.Detta visar administratören om ett index behövs för frågan.Genom att ta resultaten kommer administratören att veta om frågan kan köras som den är, om han eller hon ska göra eller söka efter ett index, eller om det kommer att vara effektivt.