The counts are all dynamic.
- We know what post_number you read up to
- We know know the highest post_number for the topic
- Critical info we prefer not to break existing hyperlinks to a topic, so we never re-number posts. If you make a post after 1000 deletions it is post_number 1001.
We do not store a cache on the server for every user about the actual counts. If we did that we would have a potentially very expensive recalculation every time a post is made or deleted. For example:
- post 1
- post 2 deleted
- post 3
- post 4 deleted
- post 5
You need to count everything for every user on deletion and keep this cache in sync with such an implementation. The cost of all this accounting is very very high.