Думаю мой подход можно применить если заменить непрочитанные на последние.
А вместо хранения данных о прочтении темы хранить список скрытых\открытых тем\разделов.
В целом количество хранимой инфы должно уменьшиться.
ПыСы лично мне не нравиться сама идея непрочитанного потому что после прочтения тема пропадает из списка и что бы в нее попасть приходится нажимать показать за время что не удобно