Hallo,
ich bin momentan dabei nen kleines Forum zu schreiben und da fallen einige Performence Sachen auf, ich habe jetzt schon einen Index für die Spalten angelegt, aber bei ca. 300.000 Einträgen dauert die Ladezeit vom aktuellsten Thread ca. 15 Sekunden, wie kann cih diese Zeit verkürzen?
Ist es sinnvoller bei der Vergabe einer ID auto_increment zu verwenden oder die Einträge zu zählen und dann eines höher zu setzen?
Wie lösen die großen Forenhersteller das Problem?
Danke!
Seite 1 von 1
Mehrere Fragen MySQL Performence, Auslesen,...
Anzeige
#2
geschrieben 08. Januar 2005 - 13:24
Hasch, hast du die spalten, auf die du suchst (zB "... WHERE ID='1388945'") indiziert? (der primärschlüssel wird immer indiziert).
15 sekunden kommen mir sehr sehr hoch vor. sollte eher 0.15 sekunden sein.
einträge selber zählen ist eine ganz ganz schlechte idee. ich vermute mal du meinst mit einem count ( a la "SELECT COUNT(id) FROM topics"), lieber autoincrement verwenden.
ein forum ist für den anfang zwar arg hochgegriffen, wirst aber auf alle fälle viel lernen
am besten beschäftigst du dich erstmal damit, wie man einen ordentlichen datenbankentwurf macht, dann ersparst du dir später viel arbeit
Stichwort: Entity Relationship Diagramm. Lässt sich wunderbar auf Papier aufzeichnen und man sieht schnell, wie umständlich es ist, an best. Informationen ranzukommen.
15 sekunden kommen mir sehr sehr hoch vor. sollte eher 0.15 sekunden sein.
einträge selber zählen ist eine ganz ganz schlechte idee. ich vermute mal du meinst mit einem count ( a la "SELECT COUNT(id) FROM topics"), lieber autoincrement verwenden.
ein forum ist für den anfang zwar arg hochgegriffen, wirst aber auf alle fälle viel lernen
am besten beschäftigst du dich erstmal damit, wie man einen ordentlichen datenbankentwurf macht, dann ersparst du dir später viel arbeit
Stichwort: Entity Relationship Diagramm. Lässt sich wunderbar auf Papier aufzeichnen und man sieht schnell, wie umständlich es ist, an best. Informationen ranzukommen.
I'm mó. mo's good twin.
#3
geschrieben 08. Januar 2005 - 13:37
@mo:
Es kommt auch darauf an, WAS man für ein Forum macht...
Es muss ja bei weitem nicht so umfangreich wie ein phpBB oder Invision Powerboard Forum sein...
Ich habe ja auch ein kleines Forum, dass wunderprächtig funktioniert...
Link zu meiner Seite (Online meistens von 13 - 23 Uhr)
Es kommt auch darauf an, WAS man für ein Forum macht...
Es muss ja bei weitem nicht so umfangreich wie ein phpBB oder Invision Powerboard Forum sein...
Ich habe ja auch ein kleines Forum, dass wunderprächtig funktioniert...
Link zu meiner Seite (Online meistens von 13 - 23 Uhr)
#4
geschrieben 08. Januar 2005 - 13:42
Zitat (Mr_Maniac: 08.01.2005, 13:37)
@mo:
Es kommt auch darauf an, WAS man für ein Forum macht...
Es muss ja bei weitem nicht so umfangreich wie ein phpBB oder Invision Powerboard Forum sein...
Ich habe ja auch ein kleines Forum, dass wunderprächtig funktioniert...
Link zu meiner Seite (Online meistens von 13 - 23 Uhr)
<{POST_SNAPBACK}>
Es kommt auch darauf an, WAS man für ein Forum macht...
Es muss ja bei weitem nicht so umfangreich wie ein phpBB oder Invision Powerboard Forum sein...
Ich habe ja auch ein kleines Forum, dass wunderprächtig funktioniert...
Link zu meiner Seite (Online meistens von 13 - 23 Uhr)
<{POST_SNAPBACK}>
Naja, aber es ist schon umfangreich, es soll schon aussehen wie ein richtiges Forum und viele Beiträge fassen, deshalb mache ich ja diese Performencetests.
@mo
Danke, werde mich mal mit dem ERM auseinandersetzen, bin auch schon dabei die DB neu "einzuteilen".
EDIT:
Gibt es eine Möglichkeit der Tabelle zu sagen, z.B. im PHPmyAdmin, dass die Tabelle immer automatisch nach dem Datum geordnet wird, sodass man das nicht immer wieder mit ORDER BY abfragen muss?
Dieser Beitrag wurde von hasch bearbeitet: 08. Januar 2005 - 14:06
Thema verteilen:
Seite 1 von 1

Hilfe
Neues Thema
Antworten
Nach oben

