sweeet... (updated)Author: Tridus ()
Date: 2000-04-05 00:00:00
I guess this is kind of late, but thanks to some benevolance on the part of a random person on usenet, I managed to finally build a query routine for the threadlist that doesn't suck. Here's the version history on it for those who are curious:
original (forum versions 0.1 to 0.9 or so): grab all the root posts, for each one of those, do another database query grabbing all the replies, then all the replies to the replies, etc... this was unbelievably slow. (max build rate was about 5k/s)
upgrade (forum version 1.0 rc1): grab all the root posts, also grab all the replies to everything. do the same as above, except use filtering instead of requerying the database. this was only really slow (build rate around 15k/s)
new version (what will be 1.0 rc2 as soon as I get some bugs worked out): add a threadid and replylevel fields to the database. grab a single recordset, sorting on those. dump this entire thing. this holds less db locks, makes it way easier to build the mini threadlists on the messages, etc... currently use block level threadlist formatting (aka <ul> tags), and reindexing don't work with this new setup.. but its fast. (buildrate around 150k/s based on what I have of the db converted so far, its probably higher then that after I convert more posts).
This also means that I can add a "delete thread" option, since every thread now has a threadid, allowing it to be wiped out in one fell swoop. Great for these huge test threads I keep building. :-)
(you guys have been the best people to be a moderator for, I mean I've had to do *nothing* except be a thread nazi and get rid of duplicates, its been an absolute pleasure)
*does the happy dance*
So, now the problem in here after I convert the threadlist, will be lack of bandwidth, not a lack of server power. The server is now more then adequate to the task, since I made it notably easier.
If there were no words, no way to speak... I would still hear you... - Martina McBride
sweeet... (updated) - Tridus - 2000-04-05 00:00:00