MySQL - multiple values in one field or many-to-many relationship?
<p>Let's start with the context. I'm writing a small application for myself, which can be used to alter and create products in a MySQL database.</p>

<p>Every product has at least one production method, for example 'forged', 'welded' or 'machined' (many more methods exist in my application). The production method for a product can be any combination of these methods. </p>

<p>The application currently has a dropdown menu with a list of checkboxes to choose the production methods from, and the production method is displayed by a textfield. When my application displays the production method, I want these to be ordered alphabetically (not ordered by clicked order, like if you first clicked welded that will be the first value):  </p>

<p>product <strong>table</strong>: 'forged - welded - machined'<br>
<strike>product <strong>chair</strong>: 'welded - forged - machined'</strike><br>
product <strong>chair</strong>: 'forged - welded - machined'</p>

<p>When my application retrieves the product <strong>table</strong> I also want to set the 'forged', 'welded' and 'machined' methods checked to true.</p>

<p>Should I use one field in the MySQL products table where a string of the combination of methods is saved (like above), and let my application handle the sorting when clicking the checkboxes and save this string to this one field in the products table,<br>
or,<br>
should I use a many-to-many relationship in my database where a table of all production methods exists, and I use a junction table to connect product (pID = 2) with forged (mID = 1), welded (= 2) and machined (= 3) like<br>
pID - mID<br>
2 - 1<br>
2 - 2<br>
2 - 3,<br>
or,<br>
should I use a table like<br>
pID - method<br>
2 - forged<br>
2 - welded<br>
2 - machined  </p>

<p>What is performance-wise (lots of products and lots of methods) the smartest thing to do? Perform a bunch of query every time the application loads a different product (which happens a lot), or one query from the products table and load the methods this way (splitting the string and comparing each method with the checkboxes in a for loop)?</p>