MySQL Abfrage - umso weniger Ergebnisse umso länger?

vom 07.12.2011, 19:12 Uhr

Ich habe heute eine MySQL Anfrage gemacht, die mir einige hundert Ergebnisse zurück lieferte. Mit den Ergebnissen aus der Datenbank habe ich dann weiter gearbeitet, so dass es immer weniger Ergebnisse wurden. Anfangs hat die Abfrage, die gerade mal auf eine Tabelle geht, 0,0004 Sekunden gedauert. Später hatte ich dann nur noch ungefähr 50 Ergebnisse. Zu dieser Zeit hat die Abfrage immer mindestens 2,7 Sekunden gedauert.

Woran kann das liegen? Eigentlich müsste eine Abfrage doch schneller gehen, wenn es weniger Ergebnisse gibt, weil die Ausgabe im PHPmyAdmin dann nicht so groß ist. Oder liege ich damit falsch?

Benutzeravatar

» hennessy221 » Beiträge: 5132 » Talkpoints: -1,94 » Auszeichnung für 5000 Beiträge



Das liegt einfach daran, wie die Abfrage formuliert ist und wie die abgefragten Tabellen oder eben auch Views aufgebaut sind. Allgemein lässt sich nicht sagen, dass eine Abfrage mit weniger Ergebnissen schneller ist als eine vielen Ergebnissen. Es kommt auf den Aufbau der Tabelle und der Abfrage an.

» JotJot » Beiträge: 14058 » Talkpoints: 8,38 » Auszeichnung für 14000 Beiträge


Je feiner abgegrenzt du die Abfrage formulierst und je mehr Bedingungen du einbaust, desto komplexer wird ja die Abfrage und daher dauert es entsprechend länger, bis die Abfrage Ergebnisse liefern kann. Ein einfaches "SELECT * FROM MEINETABELLE" ist da sicher schneller, weil keine Bedingungen beachtet werden müssen. Auch wenn dann als Ergebnis unter Umständen Millionen Datensätze zurück kommen, ist die Dauer für die Abfrage eben recht überschaubar. Wenn jetzt aber zahlreiche WHERE Bedingungen und u.U. auch JOINS usw. hinzukommen, dann dauert das Ausführen einfach länger. Dass am Ende dann nur eine Handvoll Datensätzen zurück kommt, hat ja nichts mit der Ausführungsgeschwindigkeit zu tun.

» derpunkt » Beiträge: 9898 » Talkpoints: 88,55 » Auszeichnung für 9000 Beiträge



Ähnliche Themen

Weitere interessante Themen

^