IDrownFish of the Seven Seas wrote:
Sir Xsarus wrote:
I'd bet it's the number of rows as opposed to the actual content. I doubt they're loading the entire content as you only load so many posts at once.
From what Kao said before, each post creates a new row. So you're right, it's definitely by number of posts; the actual content has no bearing on it. I don't really understand why the number of rows actually is affecting it, though. I'd imagine there's a lot going on under the hood that I and other users are not aware of, but from just what Kao said I don't really see why the database couldn't support one thread with [however many rows could fit in the database's disk] posts in it. Like, I don't see why the database couldn't take just a single monolithic thread with all posts in it, as opposed to many smaller threads.
I mean, everything is indexed, as far as I can tell. That's O(1) time to access it, no matter where you are accessing it from. Theoretically.
The only issue I can see arising is if the database actually does load the entire thread when you enter it (or worse, loads all the threads on the first page or whatever when you enter the forum).
That said, I'm in the middle of my databases class right now, so my knowledge of databases is far from perfect.
middle of db class indeed database stuff is fun
this means they are likely storing posts as some sort of blob, makes it easier with mixed content, you know a variety of hosted pics, links, rambling text, quotes, etc
so the blob stores everything as binary then the, php(?), forum engine rips out what ever was stored and parses it back into stuff people can read. im guessing that the forum engine does most of that work as writing a parser is non-trivial
my guess is that when the number of rows of stuff that comes out of the db for a given thread breaks a certain threshold memory becomes an issues. like the server starts to get cranky serving that thread as it is huge, row wise not content necessarily.
as even if the amount of stuff in a row is small it still has to run through the same parser.
just my guess