I currently run a website where my users can fill out a profile as well as information on different types of services that they offer. For each "offer" that they input, there is an optional tags field, which I want to use to help with searching. Right now I have it stored as a nvarchar field in the main OFFERS table as a comma separated list.
Would it be better to move it to it's own table, split up the comma separated list, and have each term be it's own record in the table? So, instead of:
Main OFFERS table that contains all of the data for the offer
a TAGS table
I'm looking for the most efficient manner, as I can see this table growing pretty quickly. I'm thinking this way would be better as using a LIKE statement is not efficient. Am I correct in thinking this way, or is there a better way to do it?
I am currently running Sql Server 2012