Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
0 user currently in Acmlmboard support?.
Acmlm's Board - I2 Archive - Acmlmboard support? - Mark Read | |
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
FreeDOS

Lava Lotus
Wannabe-Mod :<
Level: 59

Posts: 179/1657
EXP: 1648646
For next: 24482

Since: 03-15-04
From: Seattle

Since last post: 6 hours
Last activity: 4 hours
Posted on 03-20-04 07:25 PM Link | Quote
I have vBulletin (illegal copy, though). Maybe I'll check out how they do it when I get home (Sunday night, 18:00 PST). I highly doubt that they have an efficient means of doing it via database.
Tuvai
Permanently banned for account hacking.
Level: 24

Posts: 88/211
EXP: 74894
For next: 3231

Since: 03-15-04

Since last post: 566 days
Last activity: 339 days
Posted on 03-20-04 08:22 PM Link | Quote
Vbulletin pretty much stores everything using a database, heck, that's why a default VBulletin already has over 70 tables I believe.
FreeDOS

Lava Lotus
Wannabe-Mod :<
Level: 59

Posts: 186/1657
EXP: 1648646
For next: 24482

Since: 03-15-04
From: Seattle

Since last post: 6 hours
Last activity: 4 hours
Posted on 03-21-04 12:57 AM Link | Quote
70 tables

I remember my previous source...when that reached 49 tables, I thought that was overkill. x_X
guruzim
Newcomer
Level: 5

Posts: 3/6
EXP: 359
For next: 170

Since: 03-15-04

Since last post: 472 days
Last activity: 105 days
Posted on 03-21-04 01:17 AM Link | Quote
Actually, you could go about doing this using a method similar to what is used for usenet news by most news browsers.

Instead of putting a timestamp like you currently do, track the read threads by thread ID and build a comma delimited list that you can read from using implode and explode functions.

You'd probably want to cheat and keep one entry per forum per user still, but set it up in this format:

1000, 1004, 1005, 1010, 1020

Where 1000 (the first entry) is the lowest number that has all threads read already (assume that it is really 0-1000) and then you store your read threads afterwards.

Of course, you'd need the posts also, so it would probably be pairs instead of just the threads. You could use timestamps too, I guess.

1000;20004, 1001;20005, 1004;199451, etc

Of course this really only works for the disk space constraint. You are still going to have some hefty processor usage to do all of the substringing and comparing. Also, it depends on your people marking forums as read occasionally so that you can get the baseline point.

Actually, you'd probably want to just keep the current mark forum thread point as the baseline and then work the other part out.

Nevermind, I'm rambling. Was any of that clear?
ErkDog

Fuzz Ball
Level: 47

Posts: 89/982
EXP: 752190
For next: 14013

Since: 03-15-04
From: Richmond, VA

Since last post: 40 days
Last activity: 19 days
Posted on 03-21-04 08:03 AM Link | Quote
vBull does use cookies too... cause I've used alot of them before.. when you go from PC to PC the icons don't match.....

it is simply impractacle and would cause way too much overhead to have a thread specific system stored locally in the database.....

2000 updates every time someone posts a new post.... that's stupid.......
Jesper
Busy, busy, busy.
Level: 69

Posts: 114/2390
EXP: 2856000
For next: 13743

Since: 03-15-04
From: Sweden.

Since last post: 176 days
Last activity: 79 days
Posted on 03-23-04 10:49 PM Link | Quote
Originally posted by ErkDog
then when a new user registers you have to throw XXX #of thread records into that table... all with 1 set... etc... etc...

I don't think elaborating on this example further would serve any purpose... as it's obviously way more work than it's worth to code... and would require TONS of SQL overhead to actually function
The XXX new records wouldn't be right. The correct way to do it would be to put a new record in there saying "user id this has read thread id that" (possibly also "up until post id this"), which would only involve checking if that row exists or not, and which would only add up if everyone used it (which they should since it'd be so easy to implement and we'd just stick it in thread.php). Since that method would only use three or two fixed-length fields it'd atleast be pretty quick theoretically for mySQL to search through. But ofcourse it would consume a lot of time (looking through a few million records per thread view ain't a walk in the park, not even on Erk's server).
Pages: 1 2Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Acmlmboard support? - Mark Read | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.016 seconds.