title: need advice on mysql data base design
body: <p>I need to build application where users can search/filter products by multiple characteristics. There are 25 product groups. Each product group have around 10 product characteristics.  I have a few data base design solutions, but none of them seems appropriate enough:</p>
  
  <ol>
  <li>Create 25 tables per each group with column names storing product group characteristics.</li>
  <li>Create one table with all products and as many columns as there are product characteristics (~ 200)</li>
  <li>EAV: create 1 table for all characteristics and 1 table with all products and their attributes stored in rows, not in column names. This solution will result in writing a lot of application code, because I won't be able to select a product with all characteristics in one row. I will have to write application code to group mysql results. </li>
  </ol>
  
  <p>I believe there are already solutions for problems like mine. Thanks for help.</p>
  
  <p>EDIT:</p>
  
  <p>In most cases the characteristics in groups are entirely different. These are starter/alternator components. Only around 25% of characteristics can overlap, like physical characteristics, length, diameter, etc. </p>