SELECT
fakturen.faktuurnr, klanten.bedrijfsnaam
FROM
fakturen,klanten
WHERE
fakturen.verwerkt = 1
AND
klanten.deb_nr = fakturen.klantnr
ORDER BY
fakturen.faktuurnr
LIMIT 0,200
Deze heeft een loadtime van +- 90sec op een database van :
fakturen : 5000 records
klanten: 9100 records
fakturen.faktuurnr heeft een index autoincrement.
Als ik de ORDER BY weghaal, is de loadtime gewoon minder dan 1 seconde.
Rara, politiepet
Rustig maar hoor....wat is nu de uitkomst van EXPLAIN en/of ANALYZE? Graag van beide queries, een sortering op een primaire sleutel is gewoon niet logisch, je gebruikt hem doorgaans alleen als garantie van uniciteit / identificatie van 1 record.
Een oplossing voor het tijdsverschil is er in deze query naar mijn idee niet. Ik weet zo niet of je het type index van een primaire sleutel kunt aanpassen, of dat het is toegestaan om een B-Tree index toe te voegen aan de kolom fakturen.faktuurnr.
Opgelost. Alle keys uit de tabellen gehaald en deze opnieuw opgebouwd. Bleek uiteindelijk dat de keys wel goed stonden , maar niet de juiste kardinaliteit hadden.