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
Don Okt 5 09:51:46 CEST 2006


Sebastian Mendel:
> Aber vielleicht liegt die Lösung ja im Kontext, warum/weiso/wofür du die Daten dieser 
> Abfrage überhaupt benötigst ...

Hallo Sebastian! Danke für deine Antwort!

Die Abfrage schaut "in echt" so aus:
 SELECT meinung_profil. * , user.nickname, user.farbe
 FROM meinung_profil
 LEFT JOIN user ON meinung_profil.userid = user.userid
 WHERE meinung_profil.forumID = 30284
 ORDER BY meinung_profil.threadid DESC, meinung_profil.sort_im_thread ASC
 LIMIT 0 , 30

-> jeder User hat ein Gästebuch, wo man Beiträge in einer Baumstruktur abgeben kann.
Ich zeige immer 30 Beiträge auf einer Seite an.
Die Daten werden aus einer Tabelle mit ca 5.000.000 Zeilen gelesen. Index ist auf  forumID+threadid+sort_im_thread

Warum ich mich gerade auf den SQL versteife?
Der Provider hat mir jetzt ein Master/Slave Gebilde aufgesetzt. Schreiben nur am Master, lesen aus der Slave-DB.
Die Last des "Slaves" ist zwischen 0,5 und 0,8. Wenn ich den einen SQL auf den Slave schalte, steigt die Last des "Slave-Servers" auf 15-25 an... Die Abfrage wird schon oft auf meiner Website ausgeführt (ca 3x pro Sekunde).

> P.s. hast du einen eigenen DB-Server oder nur eine DB auf einem gemeinsamen DB-Server? 
Ich hab einen eigenen DB-Server mit root-Zugriff

> kannst du ja mal fragen ob der query cache aktiviert ist.
Ist aktiviert.
"Er" hat mir das geschickt:
Qcache_free_blocks 	3 k
Qcache_free_memory 	30 M
Qcache_hits 	67 k
Qcache_inserts 	109 k 
Qcache_lowmem_prunes 	0 
Qcache_not_cached 	2 k 
Qcache_queries_in_cache 	3 k 
Qcache_total_blocks 	9 k 

Schöne Grüße aus dem Waldviertel
Harald Angel

php::bar PHP Wiki   -   Listenarchive