phpbar.de logo

Mailinglisten-Archive

[dbs] Handler_read_rnd_next sehr hoch

[dbs] Handler_read_rnd_next sehr hoch

ANGEL Harald harald.angel at egston.com
Mit Okt 4 20:26:59 CEST 2006


Sebastian Mendel:
> Er soll die das slow query log schicken.
> Dort stehen alle Abfragen drin die zu lange brauchen oder keinen Index
> verwenden.

Danke für den Tipp!
Hab das jetzt erhalten und angefangen, die SQLs zu durchforsten.
Da führt mich gleich zu einer kleinen Verständnisfrage und ich hoffe ihr könnt mir helfen:

Dieser ansich einfache SQL:
SELECT meinung.* 
FROM meinung
WHERE forumID = 30284
ORDER BY meinung.threadid DESC, meinung.sort
LIMIT 0 , 30

sollte ja theoretisch nur 30 zeilen lesen.
Wenn ich mir den SQL allerdings mit EXPLAIN ansehe, sehe ich das:
key -> forumID
key_len -> 4
ref -> const
rows -> 2604
Extra -> Using where; Using filesort

laut http://dev.mysql.com/doc/refman/4.0/de/explain.html ist rows ja die anzahl, die zeilen, die mysql untersuchen muss.
Was muss ich in meinem SQL ändern, damit der MYSQL wirklich nur die benötigten 30 zeilen untersuchen muss?
Oder ist das wegen dem ORDER BY?

Danke für Info!
Harald

php::bar PHP Wiki   -   Listenarchive