I am working on a program that is essentially a contact management tool for
multiple users. There are currently about 200 users and will be over 1000
eventually. Each user may have between 10 and 500,000 contacts.
Where it gets interesting is that each user needs to have the ability to
control the fields that it is storing for it's contacts.
I am considering giving each user it's own table for storing contacts. In this
scenerio I would provide a means for editing the columns in the table.
The other scenerio is to have a table to store field names, their type, and
their default value and their account relationship. Then another table would
store the contacts for all accounts with an account relationship. A final
table would store relationships and values of contacts and the fields.
I am mostly concerned with speed. My guess is that the first scenerio will be
faster as long as all the queries only search the contacts for one account
(i.e. one table). However I am a little concerned about having hundreds (and
eventually thousands) of tables.
Does anyone have experience with this kind of situation?
Thanks,
-Jackson