AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Wie mehrere Foren realisieren?
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Wie mehrere Foren realisieren?

Ein Thema von TheMiller · begonnen am 31. Dez 2007 · letzter Beitrag vom 31. Dez 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

[PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 15:32
Hallo,

ich habe vor, ein eigenes kleines (abgespecktes) Forum zu programmieren. Das Forum soll in eine Community eingebunden werden und jeder User darf ein Forum erstellen.

Meine Frage ist nun, wie ich das von der Struktur her realisiere. Angenommen viele User haben Foren mit vielen Einträgen. Irgendwann müsste doch die Posts- und Threadstabelle elend langsam werden.

Sollte man da jetzt für jedes Forum automatisch extra Tabellen anlegen oder gar extra Datenbanken? Oder ist MySQL in der Lage so riesen Tabellen schnell und effizient abzufragen, dass alles in eine Tabelle kann und nur durch eine Foren-ID getrennt wird. Wenn ja, wie schwer ist es, eine solche Tabelle zu optimieren?

Oder ist sowas sogar ganz anders möglich?

Danke Leute und guten Rutsch!
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 15:35
Eigentlich sollte ein aktueller Datenbankserver das locker unterstützen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#3

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 15:36
Das ist doch auch nur eine Beziehung mehr (Thread -> Forum). Ich sehe da keine großen Performancebremsen, sofern ordentlich indiziert wird.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 15:40
Also praktisch nur die nötigen Tabellen einmal erstellen und via Forum-ID die Einträge und Einstellungen trennen? Das hört sich zu einfach an...

Achso: Indizierung!
Was packe ich denn jeweils in den Index? Nur die jeweiligen IDs (Forum-Id und Thread-ID etc.), oder auch Titel und Post-Datum? Und wie kann ich einen Index über mehrere Tabellen legen, zb bei Joins?

Wie erkenne ich eigentlich, dass eine Datenbank sehr stark beansprucht wird? Habt ihr Links für mich, in denen ich mal genau nachlesen kann, wie ich eine DB optimiere?

Danke
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#5

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 15:43
In die Thread-Tabelle würde ich nur die Foren-ID als Fremdschlüssel aufnehmen. Darüber kannst Du weitere Daten zum Forum (falls benötigt) einfach dazujoinen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 15:44
Je nach was du die Datensätze anforderst. Also mehrere Indizes.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 15:50
Also, wenn wir mal die Hauptseite als Beispiel nehmen:

Ich weis nicht, ob ich das gerade richtig verstenden habe:

Zitat von mkinzler:
Je nach was du die Datensätze anforderst. Also mehrere Indizes.

Ich frage einmal die Threads-Tabelle mit "titel, antworten" ab und lege mir vorher einen Index drüber.
Dann frage ich irgendwo nochmal die Threads-Tabelle mit mehreren Infos ab und lege mir vorher diesen Index drüber: "titel, antworten, nachricht, directlink"

Jetzt habe ich ja titel und antworten doppelt in mehreren Indizes. Ist das richtig, oder unnötig?
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 15:55
Das ist normal. Das DBMS verwendet den Index mit allen abgefragten Feldern
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#9

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 16:00
Ok gut.

Also könnte ich für jede spezielle (größere) Abfrage eigene Indizes anlegen, vorausgesetzt, dass ich das Limit beachte. Richtig?

Kann ich das irgendwo mal ausführlich nachlesen? Die Doku bringt mich da nicht viel weiter. Komme mir beim Ausfragen hier grad ein bissl doof vor...
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: [PHP] Wie mehrere Foren realisieren?

  Alt 31. Dez 2007, 16:02
Kommt darauf wie oft die Abfrage benötigt wird. Den Indizes haben auch den nachteil, Platz zu belegen und Inserts/Update/Deletes zu verlangsamen.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz