Mailinglisten-Archive |
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