Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Was ist besser? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Was ist besser?


 
Sky
17-12-2001, 11:42 
 
Ich konzipiere gerade die Datenbank für ein einfaches Forensystem, wo für jedes Forum das Datum des letzten Posts angegeben werden soll.

Ist es nun effizienter, dieses Datum per ORDER BY datum DESC LIMIT 1 aus der Tabelle mit den Posts rauszuholen, oder bei jedem neuen Post ein Feld date_last_post in der Forentabelle upzudaten und dann daraus zu lesen? Letzteres scheint mir zwar performanceorientierter, aber auch unnötig redundant (zwar nur im Kleinen, aber guter Stil ist es wohl trotzdem nicht).

Eure Meinung?

 
JoelH
17-12-2001, 11:49 
 
ich hab ersteres gewählt, ist weniger redundant wie du schon sagtest. Ich meine bei mehreren tausend Beiträgen wird die Tabelle von Version2 relativ gross und muss auch durchsucht werden. Ausserdem hast du eine zusätzliche Connection zur DB beim schreiben, die bei Version1 wegfällt weil das Datum sowieso eingetragen wird mit einem INSERT, bei V2 sind es deren 2 INSERTS.

 
Sky
17-12-2001, 11:55 
 
Original geschrieben von JoelH
Ich meine bei mehreren tausend Beiträgen wird die Tabelle von Version2 relativ gross und muss auch durchsucht werden.

Hm... Aber ich möchte ja nur das Datum des jüngsten Posts _pro Forum_ speichern... Also bei 6 Foren auch nur 6 Einträge...

 
JoelH
17-12-2001, 12:01 
 
ich hab gedacht, von jedem Topic, verlesen, sorry, naja dann trotzdem haste immer ein INSERT mehr und das auslesen sollte ja nicht gerade so lange dauern, selbst bei vielen Topics sollte das noch in einem akzeptablen Zeitwert liegen !

Also ich bin grundsätzlich gegen Redundanzen.

 
Sky
17-12-2001, 12:14 
 
Hast auch recht... Lieber der elegantere Weg. :)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:45 Uhr.