
Indexeren
Introductie
Het gebruik van indexes is een manier om met betere performance gebruik te maken van een database.
Door van een index gebruik te maken kun je resultaten sneller ophalen.
Dit is vooral handig bij grote datasets.
1. Voorbeeld indexeren
We bekijken hoe indexeren werkt aan de hand van een voorbeeld.
1.1. Tabel scores
We bekijken een tabel met scores van studenten voor toetsen:
| score_id | score | student_id |
|---|---|---|
| 1 | 5.2 | 1 |
| 2 | 8.0 | 1 |
| 3 | 7.6 | 2 |
| 4 | 3 | 1 |
| 5 | 8.2 | 3 |
| 6 | 8.9 | 3 |
| 7 | 5.5 | 2 |
In deze tabel zien we 3 kolommen:
score_id: Een uniek id.score: De score voor een toets.student_id: Het id van een student.
1.2. Probleemstelling
Stel we willen de volgende query uitvoeren:
In dat geval checkt de query voor iedere rij of een waarde in kolom student_id gelijk is aan 2.
Als er veel records in de tabel staan, kan dit lang duren.
1.3. Oplossing indexeren
Als we een index toe zouden passen op kolom student_id, zou er iets als volgt gebeuren:
| score_id | score | student_id |
|---|---|---|
| 1 | 5.2 | 1 |
| 2 | 8.0 | 1 |
| 4 | 3 | 1 |
| 3 | 7.6 | 2 |
| 7 | 5.5 | 2 |
| 5 | 8.2 | 3 |
| 6 | 8.9 | 3 |
De index brengt orde aan.
Hierdoor is makkelijker en dus sneller te vinden welke rijen een bepaald student_id hebben.
Dit is een versimpelde weergave. In werkelijkheid wordt de tabel niet opnieuw gesorteerd.
2. Index maken syntax
Je kunt een kolom (of kolommen) in een tabel als volgt als index maken:
Bijvoorbeeld, voor de kolom student_id in tabel students:
Samenvatting
- Een index zorgt voor snellere zoekresultaten.
- Betere performance van een query.
- Er zijn diverse opties, we hebben hier een eerste voorbeeld bekeken.