| Делаю каталог на YII.
Предполагается несколько типов объектов, скажем, А, B и С, причём вот в такой родительской иерархии - A > B > C.
Объектов типа С предполагается около 15 тысяч в БД. А объектов А и B - существенно меньше, может, вместе наберётся ну две тысячи максимум..
Суть вот в чём. Где-то нужно хранить свойства этих объектов, причём есть два важных момента:
1) В принципе, наборы свойств для разных типов объектов различаются. Т.е. для А - это несколько свойств, около 5-10, для объектов типа В - ну тоже где-то столько же, а для С - около 15-20 свойств, может быть и больше, допустим, 20. Всего свойств, выходит, 20 + 10 + 10 = 40 где-то.
2) и при этом нужно иметь возможность добавлять ещё свойства, например, объекту типа А добавить несколько свойств, для него нехарактерных.
Короче, решил я это дело хранить так - объекты в одной таблице, свойства в другой, наборы свойств - в третьей, а саму связь свойств с объектами - в четвёртой. Примерно как-то, как на картинке (справа вверху от сообщение есть иконка приложенного файла).
И вот эта четвёртая таблица ("Objects_properties") вызывает у меня нервяк. Если там будет (15000 + 2000 )* 40 = 680000 записей. Не просяду ли я с таким объёмом? Объекты нужно будет фильтровать там, то, сё. Может, вместо Мускула использовать что-то ещё? Или спроектировать иначе? | |