Wat is een volledige scanscan?
Een volledige scanscan 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 zoekopdracht of voorwaarde die door de beheerder is opgelegd. De meest voorkomende trigger voor een volledige tabelscan is dat de database geen indexrij bevat van waaruit de query kan worden gestart. Het is meestal beter om de tafel handmatig te scannen als u naar één rij zoekt, maar als u naar meer zoekt of door een grote tafel kijkt, werkt de volledige tafelscan beter.
Databases worden geleverd met scanfuncties die door tabellen kijken om informatie te vinden of om de tabel te controleren om te controleren of deze aan een voorwaarde voldoet. Een volledige scanscan is de meest grondige scan omdat, zelfs als er een rij wordt gevonden die overeenkomt met de voorwaarde, deze door de rest van de rijen blijft scannen. Deze functie is duur, wat betekent dat het een grote hoeveelheid geheugen gebruikt, omdat de scan elke rij leest en schrijft en ook meerdere zoekopdrachten uitvoert 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 over de tabel indexeert volgens 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 diep in de database verborgen informatie te vinden. Als er geen index in de tabel staat, wordt meestal een volledige scanscan gestart om een query uit te voeren.
Er wordt zoveel geheugen toegewezen aan een volledige scanscan en het is zo grondig dat een volledige scan erg langzaam is. Als de beheerder slechts één of enkele rijen nodig heeft voor de query, is het meestal sneller om alleen een kleine index te maken. Hoewel dit waar is, werkt de volledige scan mogelijk sneller als de zoekopdracht groot is. Als de beheerder een query uitvoert die 5 procent of meer van de hele database beïnvloedt, kan een volledige scan de functie meestal sneller uitvoeren dan de beheerder die hetzelfde handmatig doet.
Een beheerder zal vaak een "UITLEGPLAN" -functie gebruiken, die een snelle scan van de tabel uitvoert. Dit laat de beheerder zien of een index nodig is voor de zoekopdracht. Door de resultaten te nemen, weet de beheerder of de query kan worden uitgevoerd zoals deze is, of hij of zij een index moet maken of zoeken, of dat het uitvoeren van een volledige tabelscan efficiënt is.