>_ VIBECODECONTROLE Controleren
← Alle artikelen Database-indexen: de optimalisatie die AI altijd vergeet

Database-indexen: de optimalisatie die AI altijd vergeet

Je hebt een app gebouwd. Hij werkt prima. Je testgebruikers zijn blij, je demo gaat soepel. En dan, na de lancering, als er echte data in de database staat, begint het te haperen.

Pagina’s laden traag. Zoekopdrachten duren opeens drie seconden. De databaseserver pakt het hoog.

In veel gevallen is de oorzaak simpel: er ontbreken indexen.

Wat is een index?

Stel je hebt een telefoonboek van 100.000 namen en je zoekt op achternaam. Zonder index moet de database elke rij één voor één doorlopen totdat hij de naam vindt. Dat heet een volledige tabelscan.

Met een index is het anders. De database heeft dan een soort snelzoeklijst gemaakt op dat veld. Zoeken gaat dan niet door alle 100.000 rijen, maar direct naar de juiste plek.

Bij tien gebruikers merk je het verschil niet. Bij tienduizend records wel.

Waarom vergeet AI dit?

De AI bouwt wat je vraagt. “Maak een tabel voor gebruikers met een e-mailadres, naam en aanmaakdatum.” En dat doet de AI correct.

Maar de AI denkt niet in schaal. Hij bouwt voor de functie, niet voor de toekomst. Indexen zijn geen functie: ze zijn een optimalisatie. En optimalisaties worden pas zichtbaar als het al te laat is.

Een concreet voorbeeld

Stel je hebt een app waarbij gebruikers kunnen inloggen met hun e-mailadres. Bij elke login zoekt de database naar het juiste account:

SELECT * FROM users WHERE email = 'jan@voorbeeld.nl';

Als er 50.000 gebruikers zijn en er geen index op email staat, doorzoekt de database alle 50.000 rijen bij elke login. Dat duurt.

Met één regel, een index op het email veld, lost de database dit in milliseconden op.

In Supabase of Postgres doe je dat zo:

CREATE INDEX ON users (email);

Welke velden hebben een index nodig?

Stel jezelf de vraag: waarop zoek je, filter je of sorteer je? Die velden zijn kandidaten:

Hoe je dit controleert

In Supabase kun je via de SQL-editor het commando EXPLAIN ANALYZE voor een query zetten. Dan zie je of de database alles doorzoekt of een index gebruikt.

Dit is een van de controles die we uitvoeren bij het beoordelen van vibecode-apps. Wil je weten of jouw database op schaal klaar is? Dat nemen we mee in de controle.

Wil je jouw project laten controleren?

Binnen 3 dagen een concreet rapport van een specialist.

Laat jouw project controleren →

Gratis

Meer leren over goed en veilig vibecoden?

Ontvang gratis tips rechtstreeks in je inbox.

Geen spam. Uitschrijven kan altijd.