За последние 24 часа нас посетил 51431 программист и 1759 роботов. Сейчас ищут 903 программиста ...

Насколько плохо и чем, так "разрывать" таблицу?

Тема в разделе "PHP и базы данных", создана пользователем steel_mx, 30 май 2015.

  1. steel_mx

    steel_mx Новичок

    С нами с:
    30 май 2015
    Сообщения:
    10
    Симпатии:
    0
    Пишется скрипт универсального Каталога (товаров). (Родов товаров всего три - "обычные", "цифровые", "товары-услуги")

    Есть таблица объектов/товаров. 1-я часть полей чисто "системные", и не меняются от сайта к сайту (напр. published, alias, date_add, date_update, ...). 2-я часть полей от сайта к сайту может меняться (напр. "кол-во", "отгружается в течении" "ширина/высота/длина", "вес", "налог", "артикул", "файл(вложения)", ...) Напр. у цифровых товаров, и товаров-услуг - почти всех этих полей не будет.
    Хочется дать возможность пользователю менять удалять/добавлять/изменять поля 2-й части.
    Поэтому можно "разорвать" основную таблицу товаров на 2-е. 1-я со "СТАТИЧЕСКОЙ структурой". 2-я с "ДИНАМИЧЕСКОЙ структурой".

    (В отличии от таблиц-"Типов товаров" здесь не будет происходить РАЗРЯЖЕНИЯ таблицы. Т.е. напр. 15%процессоров, 22%ноутбуков, 17%мониторов - раскидаются по таблицам. У этих типов есть "непересекающиеся", индивидуальные атрибуты, которые и будут вынесены в отдельные таблицы. Отчего в основной таблице - станет меньше пустых полей. Здесь же, 2-я таблица это не какой то ОТДЕЛЬНЫЙ тип товара. А напротив имеет другой смысл "ОБЩИЙ набор полей - у ОДНОГО определеного сайта/магазина")

    Вопрос 1. Насколько бредово так разрывать основную таблицу?
    Вопрос 2. Если все же разорвать, то насколько критичным это будет в плане производительности? Если товаров станет, скажем 70-100тыс.?
    Вопрос 3. Насколько это плохо, и чем чревато - давать пользователю менять структуру 1-й таблицы (являющейся как бы "входной точкой")? (Просто пометив где-то к каким полям он не имеет доступ)
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    1. Ничего не понятно
    2. Сделай тест
    3. Если работает и производительность устраивает, то всё нормально

    Может тебе EAV нужен или MVA
    Ещё поищи фасетный поиск.