I am developing a match making system where a user has certain data associated with his profile information. he has set of preferences to match against other users in the system. I am in search for better approach to save data and apply search. I can explain with an example: I have an education field in the profile. I can set in preference, multiple education either in 1) single column as comma separated values or in 2) multiple rows . This value in education can be matched aginst other user's education in profile data.
Which method should be the better one from the above scenario in terms of speed, performance, stability? Is there any other good approach.
I have more than 20 fields like this to match and expecting over 100k user profiles in the system.