Forum schneller machen ?

VanHellsehn

Erfahrenes Mitglied
Hallo @VanHellsehn

Was dein Forum auch weitaus schneller machen würde wären weniger sql queries !
Ein Query braucht im Vergleich zu anderen PHP Funktionen weitaus mehr Zeit und deshalb solltest du es vermeiden viele SQL Queries auf einmal durch zu führen.
Ich weiß nicht wie der Rest des Scriptes aussieht, aber 6 Queries in diesen paar Zeilen ist immens viel und wenn der Rest auch so viel enthält: Na pfiati Gott! (auf gut Tirolerisch ;) )

Mysql bietet hier Gott sei dank Abhilfe.
Schau dir mal Subqueries und Joins an.
Damit kannst du deine jetztigen Queries auf 2-3 vermindern.
Machst du dies überall dürfte das Forum weitaus schneller laufen.


-------

Hast du irgendwo noch eine Login bzw. Session Funktion davor, die den User bestimmt ?
Wenn ja, würde die mich mal interessieren, da dies auch häufig eine Fehlerquelle ist und weitaus erleichtert werden kann.

Ich hoff das war schon einmal eine Hilfe ;)

Grüße Simon :)
Ja vielen dank =)
Ich hab sie mir mal anguckt..
Nur leider komme ich damit nicht ganz klar.
Kannst du mir ein kleines Beispiel zeigen? ^^

Und weitere querys gibt es nur noch eine wo die Benutzerdaten abgerufen werden..
 

splasch

Erfahrenes Mitglied
Das Problem ist dein ganzer Aufbau angefangen von der Datenbank bis hin zum php code
Oft läst du auch noch Ungefilterte Werte rein

siehe: (Gefährlich)
PHP:
$forum = $_GET['category']; 
$thread_id = $_GET['id'];

Normal frag man das ganze mit 1 Sql befehl ab und nicht stückerlweise.Aber da liegt eben schon das Problem wie du deine Datenbank aufgebaut hast.
Ersichtlich schema läst sich da nicht erkennen.

Du solltes dir mal die Themen anschauen wie erstelle ich eine Baumstruktur. Genau das brauchst bei einen Forum.
Dann kanste dich zwischen der einfach lösung entscheiden(Adjazenzliste) oder der etwas kombliziereten Nested Sets Schema. Lezteres soll beim auslesen schneller sein aber beim schreiben langsamer

http://de.wikipedia.org/wiki/Adjazenzliste

http://de.wikipedia.org/wiki/Nested_Sets


Mfg Splasch
 
Zuletzt bearbeitet:

VanHellsehn

Erfahrenes Mitglied
Ich habe die GET variablen schon mit addshlashes() und mysql_real_escape() geschützt..

Und danke für die beiden links ;)


Ich blicke das mit den Subqueries nur noch nicht ganz..

Edit:
Kann mir mal einer nen beispiel zeigen ? ^^
 
Zuletzt bearbeitet:

Neue Beiträge