Herzlich willkommen im Archiv vom ABAKUS Online Marketing Forum
Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.
Naja, nicht unbedingt. Bzw. kannst Du das mal näher erklären?Bei 1 Millionen Beiträgen mit je 20 Wörtern hat man schon ca. 10 Millionen Zeilen im word table. Die müssen erstmal durchsucht werden.
Das ist als "Perfomancetuning-Empfehlung" geradezu hahnebüchen. Dieser Wert beweist nicht nur, das hier unter Low Memory Conditions getestet wurde sondern schränkt die InnoDB Perfomance bereits auf Servern mit heutzutage üblichen Speichergrößen von 4-8 GB völlig unnötig ein.8. To maximize InnoDB MySQL database performance, start with these my.cnf settings:
[...]
innodb_buffer_pool_size = 250M
[...]
Ich würde empfehlen du postest mal die Server Config, deine DB Größe etc.pp.mgutt hat geschrieben:Toll jetzt bin ich hin- und hergerissen
Dann bleibe ich wohl doch bei MyISAM, nur dass ich mir für die Volltextsuche eine alternative suche. Aber da warte ich erstmal wie schnell die aktuellste MySQL-Version mittlerweile damit umgehen kann. Dann entscheide ich weiteres.
Ok das war wohl reichlich übertrieben von mir:Synonym hat geschrieben:Naja, nicht unbedingt. Bzw. kannst Du das mal näher erklären?Bei 1 Millionen Beiträgen mit je 20 Wörtern hat man schon ca. 10 Millionen Zeilen im word table. Die müssen erstmal durchsucht werden.
10 Millionen Wörter finde ich heftig. Gibt es so viele überhaupt? Mein System ist etwa in der Art und ja, weil Du es sagst, ist auf Basis des phpbb entstanden.
Ich verstehe nicht ganz, was mir solche Tools bringen sollen, die ja auch nur wieder Last resultieren. Hört sich zwar komisch an, aber ich kenne fast alle meine Queries aus dem Kopf. Es sind ja nicht irgendwelchen Unbekannten, die ein Problem verursachen, sondern das Problem ist, dass Änderungen an einem Table dazu führen, dass der Index neu aufgebaut wird und sobald das geschieht, werden die parallel laufenden Zugriffe wieder langsam.lunetics hat geschrieben:Ich empfehle dir mal dass du nen shell account bekommst und entsprechende tools laufen lässt (maatkit / mk-query-digest) um nach und nach die queries zu optimieren. Immer schön an der Wurzel anfangen
Code: Alles auswählen
SELECT t.*, h.domain, h.www
FROM topics t, posts p, hosts h
WHERE t.moved = 0
AND t.host = h.host
AND t.forum NOT IN(0)
AND t.topic = p.topic
AND p.poster = 2
GROUP BY t.topic
ORDER BY t.last_time DESC
LIMIT 300
Das ganze Paket alsoUsing where; Using index; Using temporary; Using filesort
Ich hab das mit einem Subselect versucht:Lord Lommel hat geschrieben:Schmeiß doch die Posts mit poster = 2 erstmal in eine temporäre Tabelle. Dann verjoine damit.
Code: Alles auswählen
SELECT t.*, h.domain, h.www
FROM topics t, hosts h
WHERE t.moved = 0
AND t.host = h.host
AND t.forum NOT IN(0)
AND t.topic IN(SELECT DISTINCT topic FROM posts WHERE poster_id = 2)
AND p.poster = 2
ORDER BY t.last_time DESC
LIMIT 300
Neuer Datenbankserver, neue Werte:mgutt hat geschrieben:SQL-Abfrageergebnis
Erstellungszeit: 29. September 2009 um 14:43
SQL-Befehl: SHOW VARIABLES LIKE 'have_query_cache';
Zeilen: 1
Variable_name Value
have_query_cache YESSQL-Abfrageergebnis
Erstellungszeit: 29. September 2009 um 14:44
SQL-Befehl: SHOW STATUS LIKE 'Qcache%';
Zeilen: 8
Variable_name Value
Qcache_free_blocks 3510
Qcache_free_memory 125707792
Qcache_hits 166778823
Qcache_inserts 371275622
Qcache_lowmem_prunes 0
Qcache_not_cached 2145892
Qcache_queries_in_cache 6854
Qcache_total_blocks 17268
Der DB-Server ist jetzt nur noch für die DB da und hat eigens 8 GB RAM. Den RAM kann ich aber denke ich erst ausnutzen, wenn ich teilweise auf InnoDB umgestellt habe.Variable_name Value
Qcache_free_blocks 510
Qcache_free_memory 31405984
Qcache_hits 21844
Qcache_inserts 85499
Qcache_lowmem_prunes 0
Qcache_not_cached 3220
Qcache_queries_in_cache 1291
Qcache_total_blocks 3137