Best performance for SQL DB design? <p>I have a question about DB design and performance.</p> <p>Imagine the following scenario:</p> <p>I have a <code>Product</code> table, each record of products might have different color, different weight and different type. when I want to design my database I have have 2 ways:</p> <ol> <li><p>I can design 3 tables, a <code>Productcolor</code> table with <code>ProductID</code> and <code>Color</code> columns, then one for <code>ProductSize</code> with <code>ProductID</code>, weight columns, and a <code>ProductType</code> table with <code>ProductID</code> and <code>Type</code>. And repeat one product with different colors, wights and types. and use join to have total properties.</p></li> <li><p>I can have color, weight, type columns in <code>Product</code> table and separate different values by a separator like ",". </p></li> </ol> <p>I have some tables like this one, now i want to know is there any better solution for such a scenario? if not which one has better performance in sql and even in my asp.net project?</p>