FWIW I implemented this feature on a custom message board solution awhile back. It may not be as complete as the way Enigma did it, but IIRC, the way I did it was:
Have a table named LastViews, with the columns:
(user_id, thread_id, last_post_seen, timestamp)
form the primary key. So when a user views a given thread, we can quickly look up what the last post they saw was, and take them to that. If that row didn't exist, then when they're taken to the first page, and we can insert such a row with the last post on that page and the current time. If that row did exist, but there are more posts now, then we update the row with the last post on the page and the current time. (Basically, we performed an upsert with one SQL statement. I forget the details, it was awhile ago.)
To avoid the table growing too much, we decided to only keep those rows with a timestamp in the last week. So we built an index on timestamp, and basically had a cron job that deleted all rows with a
timestamp < (now - 7 * 24 * 60 * 60)
. This only runs fast if you have the index on timestamp. It wrote out the last time it ran to a log file, along with how many rows it deleted, and then we had the monitoring tool Monit ensure that this really was being updated every hour.
Anyway, not sure if that's how you're doing it, and clearly it's done, but just to throw a solution out there that worked well for us. And props on the constant improvement to the site!