Here’s what I’ve found about these two “posts read” counters.
user_stat.posts_read_count
- accurately records posts that you see
- e.g., skipping to the end of a topic does NOT count all posts in the topic as read
- but doesn’t count private messages (why?)
- actually, it does count private messages and then un-counts them later.
user_visits.posts_read
- includes posts that you can’t see (hidden, deleted)
- includes posts that have been moved in the topic they don’t belong to anymore, and in their new topic (double counting them)
- skipping to the end of topic counts all posts as read
So the user_visits.posts_read count isn’t accurate at all. Unless I’m missing something, we should only use user_stat.posts_read_count.