hi, i have a query that i hope someone can help me with.

i have a monitoring system that tracks the number of times that person clicks on a 
particular adbanner on our site or in one of our newsletters.  i member can choose 
have a maximum of 16 interests selected.

so for example, i can say i'm interested in carbuying, the stockmarket and action 
movies.  at the moment i store the 16 interests as a bit bitfield,which gets decoded 
on the server.

this system has worked very well for me, but now i have a few new requirements.

- the total number of possible interests that can be selected is now 150
- and i need store the users click rate and the number of times we have sent them a 
newsletter relating to an interest or the number of times we have displayed an 
adbanner related to their interest.

the long ineffient way would be 
- to store 150 enum ("y", "n") fields to say that a user has selected a particular 
interest
- then another 150 tinyint fields to store the response rate
- and another 150 tinyint fields to store the the count of times we have sent a 
newsletter to them 

this already results in 450 fields per record!

the best way i came up with was to store a number like "2_7" to represent 3 things, 
the fact that a user has selected that interest, that the user has responded to 2 of 
our 7 newsletters.

but this is still 150 fields per record.

we have about 250,000 members at the moment - this could get really out of hand very 
quicky.

has anyone got any ideas on the best way to store this information ??

thanks for your help.

anna


Reply via email to