Zurück

MySQL JOINs und COUNT(*)

erstellt am 25.01.2008 um 21:00 von BadBoy_

Hehe...SQL ist wirklich extrem mächtig....
bislang ist das ganze System hier ziemlich unoptimiert.
Die News werden aus der Datenbank ausgelesen und mittel Schleife ausgewertet.
In jedem Schleifendurchlauf wird nun eine erneute Anfrage an die DB gesendet, um anhand der Kategorie-ID den Kategorie-Namen rauszufinden.
SQL kann das ganze anhand kurzer JOIN-Querys viel effektiver:
SELECT news.*, category.name FROM news INNER JOIN category ON (news.category_id = category.id)

ähnlich verfahre ich im Adminpanel mit der Statistik der benutzten Browser.
Die kürzere SQL-Anfrage lautet dabei:
SELECT browser, COUNT(*) FROM statistik GROUP BY browser ORDER BY COUNT(*) DESC LIMIT 0,10
um die 10 meistbenutzten Browser anhand ihrer Häufigkeit sortiert auszugeben.

Das ganze werde ich natürlich auch so in das Blogsystem übernehmen.
Mal schaun, wo ich solche Optimierungen noch alles einsetzen kann

Achja, gestern hab ich doch glatt etwas in der Liste vergeßen:


Also denne!
Greets, BadBoy_

/me wird nun noch ein bißchen PSP spielen und vielleicht heute Nacht noch am Blogsystem arbeiten...


Keine Kommentare

Zurück