Skip to main content

Wat is een volledige tabelscan?

Een volledige tabelscan is een van de langzaamste, maar meest grondige manieren om een database te scannen.De reden dat deze scanmethode zo traag is, is dat de database elke rij leest en controleert of een of meer kolommen geldig zijn voor een query of voorwaarde die door de beheerder wordt opgelegd.De meest voorkomende trigger voor een volledige tabelscan is dat de database geen indexrij bevat waaruit de query kan worden gestart.Het is meestal beter om de tabel handmatig te scannen als je op zoek bent naar een rij, maar als je op zoek bent naar meer of als je door een grote tafel kijkt, werkt de volledige tabelscan beter.

Databases worden geleverd met scanfuncties die door tabellen kijken om informatie te vindenof om de tabel te controleren om ervoor te zorgen dat deze aan een voorwaarde kan voldoen.Een volledige tabelscan is de meest grondige scan omdat, zelfs als het een rij vindt die overeenkomt met de voorwaarde, deze door de rest van de rijen zal blijven scannen.Deze functie is duur, wat betekent dat het een grote hoeveelheid geheugen gebruikt, omdat de scan leest en naar elke rij schrijft en ook meerdere op zoek is naar het grondig zoeken om de rij grondig te controleren.Een volledige scan is nodig wanneer een query of functie wordt uitgevoerd, maar de database ziet geen index om de query uit te voeren.

Een index is een kolom in een tabel die informatie in de tabel indexeert op basis van de voorkeur van de beheerder.Als de beheerder bijvoorbeeld informatie over namen wil indexeren, registreert de indexkolom de positie van elke naam.Dit helpt zowel de beheerder als de database om informatie te vinden die diep in de database verborgen is.Als er geen index in de tabel is geplaatst, begint een volledige tabelscan meestal automatisch om een query te laten draaien.

Zoveel geheugen wordt toegewezen aan een volledige tabelscan en het is zo grondig dat een volledige scan erg traag is.Als de beheerder slechts een of enkele rijen nodig heeft voor de query, is het meestal sneller om een kleine index te bouwen.Hoewel dit waar is, als de vraag groot is, kan de volledige scan daadwerkelijk sneller werken.Als de beheerder een query doet die 5 procent of meer van de hele database treft, kan een volledige scan meestal de functie sneller uitvoeren dan de beheerder die hetzelfde handmatig doet.

Een beheerder zal vaak een 'uitlegplan gebruiken”Functie, die een snelle scan van de tabel uitvoert.Hierdoor wordt de beheerder laten zien of een index nodig is voor de vraag.Door de resultaten te nemen, zal de beheerder weten of de query kan worden uitgevoerd zoals deze is, of hij of zij een index moet maken of zoeken, of als het uitvoeren van een volledige tabelscan efficiënt zal zijn.