Доброго. Что ж тут думать, это ж не шахматы. Вот у вас есть условно 1000 свойств товара. У некого товара из них заполнено всего 3. Остальные хранить пустыми, разумеется, не нужно.
Что нужно - а очень даже просто, следите за рукою:
Берем id товара, условно 1189. Берем три id свойств товара, 11, 22, 33. Заводим таблицу с полями:
Id_ProductProperty int
Id_Product int
Id_Property int
И вот сюда аккуратно кладем:
1 1189 11
2 1189 22
3 1189 33
Всё. Есть у вас свойство - оно в этой таблице, а значит, True. Нет свойства - нет его в этой таблице.
Таблица полностью интовая, еще индексы ставите, как положено, на join поля - и все летает.