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