Im in the process of creating a website that will somewhat mimic SparkNotes. It's more of a portal of users where each can upload a question/answer to a specific book in a subject. And the more you post and rate, the more points you acquire. With these points, you can buy highly ranked questions (which keeps users active ..etc). Well, i was thinking of how to keep track of which questions the user purchases..

There are maybe 5 categories: chem, math, lit, physics and history.
Each category has a certain amout of topics/texts.
Each text, hopefully, will have a number of questions and answers.

When a user spends points to buy questions, he is now able to view the default AND the q's he purchased, but since there will be thousands of questions, how is it possible to keep track of all of them efficiently.

After thinking, i came up with creating a separate table, with the user id, question id, parent id (book title), and subject id, and some other info.
I'm not sure if thats efficient at all, because it stores little info which is good, but there will will be like 500 pages of db rows.

So, is my method decent, or is there any other good method to use?


PS: The user can purchase any # of q/a, from 1 to 1000 (so there will be lots of entries).