Wat is een Index ?

Een index is een zoek faciliteit in SQL server waarmee het mogelijk is om records te zoeken in een table zonder dat deze row by row gescand hoeft te worden.

De meest basic lookup van een Query gebeurt namelijk door een table-scan. Als een table in SQL niet de juiste of niet voldoende indexes heeft om de WHERE clause van je Query af te denkken gebruikt SQL de table scan. De table scan loopt door de table heen en checked row by row of een record voldoet aan de WHERE clause en al dan niet geselecteerd wordt.

Een index op je table KAN dus je Query versnellen !!

Een index bevat dus enkele colums van je table, aan de hand hiervan is het voor SQL server eenvoudiger om vast te stellen of dit record wel of niet meemoet in de selectie. Indexen worden apart van je table opgeslagen op een manier waardoor ze snel toegankelijker zijn.

Eenvoudig basis-regeltje: controleer je Query Execution Plan in SQL Managemant Studio. Indien hier table-scans in voorkomen is het handig om te kijken of er bepaalde indexes aangemaakt moeten worden.

Een ander basis-regeltje: Zodra de data in de table is gewijzigd is het nodig om de index opnieuw op te bouwen.

Standaard wordt er op een primairy key van de table een index aangemaakt, nl een clustered index.

Standaard wordt er op een foreign key in een table geen index aangemaakt. Meestal is het handig om hier handmatig een index voor te maken omdat er toch gequeryied word op de foreign key.

Soorten indexen:

  • Clustered index
  • Non clustered index
  • Unique index
  • Index with Included colums

Recent

{{opmerking.Naam}}:

{{opmerking.OpmerkingText}}

            

Saving your comment....

Naam is verplicht!
Email is verplicht!
Opmerking is verplicht!