Performante Abrfage / redundante Daten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Performante Abrfage / redundante Daten

    Hallo zusammen

    Für eine Semesterarbeit schreibe ich ein Forum in PHP.
    In der DB benutze ich dreiTabellen:
    1 für die Foren (forum)
    1 für die Themen (thema)
    1 für die Beiträge (beitrag)

    Ich möchte nun bei der Auflistung der Foren anzeigen, wann der
    letzte Beitrag in diesem Forum gepostet wurde:

    Beispiel für Forum mit id=1:

    [COLOR=blue]
    SELECT MAX(UNIX_TIMESTAMP(datum))
    FROM beitrag
    WHERE thema IN
    (SELECT id FROM thema WHERE forum=1)
    [/COLOR]

    Bei einigen hundert Datensätzen läuft das noch einigermassen
    performant ab. Bei >100'000 wird es langsam mühsam.
    Eine Idee wäre, bei den Themen ein Datenfeld "datum_letzter_beitrag"
    einzufügen und zu aktualisieren, wenn ein Beitrag gepostet wurde.
    Scheint mir aber nicht sehr elegant.

    Hat jemand eine bessere Idee?
    Don't make me run! I'm full of chocolate
    Uter, foreign exchange student, The Simpsons

  • #2
    Hallo GrandMasterTom
    LEFT JOIN ist wesentlich schneller

    Kommentar


    • #3
      Hallo fuser

      Yep, vielen Dank für den Tip!
      Hatten wir im DB- Unterricht mal, aber wie's halt so ist... manchmal
      hat man einfach ein Brett vor dem Kopf
      Don't make me run! I'm full of chocolate
      Uter, foreign exchange student, The Simpsons

      Kommentar

      Lädt...
      X