• Как правильно создавать структуру базы данных?

    @willlli Автор вопроса
    Я знаю, даже знаю для чего она. Только нормализация таким способом приведет к возрастанию нагрузки, возрастание на поиск, потому что запрос будут очень сложными. Чем сложнее запрос, тем он медленнее.. а кэшировать всю базу нету смысла. Вот к примеру как построена база у яндекс маркета? Однозначно это eav, но у них нету такой проблемы, как не все заполнены поля..

    Может есть какие-то другие варианты хранения ?

    Думаю что надо просто создать одну базу для поиска, а вторую для простого показа.
    В первой хранить значения с индексом, во второй простую статистику в виде json, которая формируется из ходя из заполненных полей..
    Получается что база для поиска будет вот так выглядеть:
    searche_$class_cat
    id|name|prince|param 1|param2|param 3| param4|all
    searche_$class_cat_all
    id|param 9|param10|param 11|.. |param25
    и база для вывода
    product
    id|name|prince|param_json|итд..
  • Как правильно создавать структуру базы данных?

    @willlli Автор вопроса
    Не, это подошло бы, если было 4 параметра и все они заполнялись.... а не от 25 параметров которые могут быть не заполнены.. Думаю что вообще в массиве хранить для простого вывода, а для поиска сделать единую базу со всеми параметрами и ключом на тот или иной объект "товар в нашел случаи" Не знаю только как избавить от пустых полей.. они будут тормозить базу
  • Как правильно создавать структуру базы данных?

    @willlli Автор вопроса
    Не чего нового к увы..
    eav используется во 2м и 3м варианте, да и в 1м тоже, но это не решение..
    Что бы избавиться от null или пустого поля придется создать 625 вариаций, это еще хуже чем незаполненные ячейки.