I'm coding a simple forum, for a user system that I'm making. By simple I mean very simple - viewing categories, threads, and topics, as well as posting, editing, and reporting to a moderator. Moderators can also delete, sticky, or lock threads, or delete posts.
Now, I'm doing quite well with this, but there's one thing which stumps me - how to mark read threads. From what I understand, I should be marking which threads users have read, but I fail to see how to do this. I would like it so that if a user logs off, the unread threads are preserved, and that when they log on, all new threads are marked as unread for them.
I don't get how I should go about this - from what I know, I'll have a table somewhat like in MyBB, with the user, the thread, and the time at which it was read, but I don't get how I'm supposed to keep things preserved, even when they log off. I don't want to have everything read, though, in the database, because that would mean that if there were 1000 threads and 1000 users, there would be 1000 * 1000 - 1,000,000 - rows in the table, which wouldn't be good.
Does anyone have any ideas for implementing this feature?

I hate to bump this post, but having any help on this, even if it's just a web address, would be really great. :D

I really hate to bump this but no one has replied and I would just like a word of guidance. Could anyone please help me? :P