 <p>You can somehow try to compress the information somehow. You need to show the user if he has read a post, only if the user logs on, so you should store the information somewhere near the user. The user might look throught your posts in a date sorted way, so read-post-information of nearly dates should ly nearby, for efficient caching and reading of many values.</p> <p>Try a table with this stucture:</p> <ul> <li>user_id</li> <li>postmonth</li> <li>readposts_array</li> </ul> <p>Depending on how many posts you expect, you might use week or day instead of month. If you cache the value in your app, you might see a performance increase when displaying many posts.</p>