Ik heb een query:


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

warrumm
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.
@remco, ik ben rustig. Ik vroeg alleen niet om een wijziging van mn situatie maar voor een oplossing voor mn huidige situatie
Doe eens EXPLAIN SELECT blablabla

Krijg je te zien hoeveel rijen er worden opgehaald

zie ook deze
heeft hetzelfde probleem
kijk daar kan ik wat mee, tnx klaasjan <3
wes schreef op 18.04.2007 17:18
kijk daar kan ik wat mee, tnx klaasjan <3


NOu is het gelukt??
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.

@klaasjan, si teh tnhx yuo!

Reageren