Hvad er en fuldbordsscanning?

En fuld tabelscanning er en af ​​de langsomste, men mest grundige måder at scanne en database på. Årsagen til, at denne scanningsmetode er så langsom, er, at databasen læser hver række og kontrollerer, om en eller flere kolonner er gyldige for en forespørgsel eller betingelse, der er pålagt af administratoren. Den mest almindelige trigger for en fuld tabelscanning er, at databasen ikke indeholder en indekserække, hvorfra forespørgslen kan startes. Det er normalt bedre at scanne tabellen manuelt, hvis du leder efter en række, men hvis du leder efter mere, eller hvis du kigger gennem et stort bord, fungerer den fulde tabelscanning bedre.

Databaser leveres med scanningsfunktioner, der kigger gennem tabeller for at finde information eller kontrollere tabellen for at sikre, at den kan opfylde en betingelse. En fuldtabelscanning er den mest grundige scanning, fordi selv om den finder en række, der matcher betingelsen, fortsætter den med at scanne gennem resten af ​​rækkerne. Denne funktion er dyre, hvilket betyder, at den bruger en stor mængde hukommelse, fordi scanningen læser og skriver til hver række og også udfører flere søgninger for at kontrollere rækken grundigt. En fuld scanning er nødvendig, når en forespørgsel eller funktion udføres, men databasen ser ikke et indeks til at køre forespørgslen.

Et indeks er en kolonne i en tabel, der indekserer oplysninger om tabellen i henhold til administratorens præference. Hvis administratoren for eksempel ønsker at indeksere oplysninger om navne, registrerer indekskolonnen placeringen af ​​hvert navn. Dette hjælper både administrator og database med at finde oplysninger skjult dybt i databasen. Hvis der ikke findes noget indeks i tabellen, starter en fuld tabelscanning normalt automatisk for at lade en forespørgsel køre.

Så meget hukommelse tildeles en fuldtabelscanning, og den er så grundig, at en fuld scanning er meget langsom. Hvis administratoren bare har brug for en eller et par rækker til forespørgslen, er det normalt hurtigere bare at opbygge et lille indeks. Selvom dette er sandt, hvis forespørgslen er stor, kan den fulde scanning faktisk virke hurtigere. Hvis administratoren opretter en forespørgsel, der påvirker 5 procent eller mere af hele databasen, vil en fuld scanning normalt være i stand til at udføre funktionen hurtigere end administratoren, der gør det samme manuelt.

En administrator bruger ofte en "EXPLAIN PLAN" -funktion, der udfører en hurtig scanning af tabellen. Dette viser administratoren, om der er behov for et indeks til forespørgslen. Ved at tage resultaterne ved administratoren, om forespørgslen kan køre som den er, om han eller hun skal lave eller søge efter et indeks, eller om det er effektivt at udføre en fuldtabelscanning.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?