title: Items with many columns SQL Server
body: <p>I have a database table <code>Products</code>, and a product can have hundreds of features and properties (Flexible number of unique properties). Each property may be used by users to filter products. How can I store all these details in the database?</p>
  
  <p>Currently, I am storing each property in a different row for a product in the <code>ProductProperties</code> table. This makes my database huge. For 1000 products with 200 properties, this results in 200,000 rows in the <code>ProductProperty</code> table. </p>
  
  <p>Another solution I am planning is to save <code>ProductProperty</code> as JSON in a <code>varchar</code> column, but this lacks flexibility and I cannot filter rows using a T-SQL query.</p>
  
  <p>Any better approach for this scenario?</p>