Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
MySQL-query's optimaliseren
Deze handleiding is bedoeld om u te helpen uw databases bij Infomaniak te optimaliseren en de belasting ervan te verminderen.
Inleiding
- Het aantal en de grootte van de databases zijn onbeperkt.
- Het is echter cruciaal om uw tabellen te optimaliseren (via indexen) om te voorkomen dat de server overbelast raakt en om een snelle weergave van uw website te garanderen, vooral wanneer het datavolume toeneemt.
Het optimaliseren van query's
Indexen zijn essentieel voor de prestaties: ze werken als de inhoudsopgave van een boek, waardoor MySQL/MariaDB informatie kan vinden zonder alle pagina's te lezen. Zonder index moet de server een "volledige scan" van de tabel uitvoeren, wat veel resources verbruikt.
Een index is vooral effectief op kolommen die worden gebruikt om resultaten te filteren (WHERE-clausule), om joins tussen tabellen uit te voeren (JOIN) of om de gegevens te sorteren (ORDER BY).
Analyseren met EXPLAIN
Voordat u een index toevoegt, moet u de trage query identificeren. De opdracht EXPLAIN (ook beschikbaar via de interface van phpMyAdmin) simuleert de query.
Bekijk de kolom "rows" (aantal gescande rijen) en de kolom "key" (gebruikte sleutel). Als "rows" hoog is en "key" leeg is (NULL), wordt het sterk aanbevolen om een index te maken.
Indexen toevoegen
U kunt een index toevoegen via het tabblad "Structuur" van phpMyAdmin of via de volgende SQL-opdracht:
ALTER TABLE nom_de_table ADD INDEX nom_index (colonne_cible);Let op: indexeer alleen de benodigde kolommen. Te veel indexen kunnen het toevoegen of wijzigen van gegevens (INSERT/UPDATE) vertragen.
Meer informatie / Referenties
MySQL 8.0-documentatie: optimalisatie en indexen
MySQL 8.0-documentatie: EXPLAIN begrijpen
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/377
Is deze veelgestelde vragenlijst nuttig geweest?