Я пробовал два подхода, но я не могу решить, какой из них лучше делать, поскольку размер ввода увеличивается.Оптимизация архитектуры MySQL
Сначала предыстория:
У нас есть продукты, и каждый продукт имеет путь категории (например, аксессуары-обувь-кроссовки)
Я хочу соединить свою продукцию с соответствующими категориями в то время как держать вещи совместимые с правилами 3NF.
я могу идти об этих двух способов, я мог бы:
Иметь отношения многие ко многим между продуктами и категориями (взорвав путь категории на отдельные категории и формирование объединения в многих к многие таблицы)
Плюсы:
Простой и понятный.Против:
Ассоциация многих-многих производителей экспоненциально растет! Вы можете себе представить, почему каждый продукт имеет несколько категорий, а в тестовом случае задействовано всего 250 000 продуктов. Я могу интуитивно понять, что по мере увеличения размера ввода напряжение на движке баз данных будет увеличиваться.Создайте отношения между многими категориями между категориями и продуктами, а также многие отношения многих категорий между категориями и действительными категориями. Это имеет смысл для меня, так как пути категорий в тестовом примере из 250 000 продуктов ограничены 13 000 уникальными экземплярами, и эти пути, связанные с их фактическими категориями в другом отношении от многих до многих, не превышают более 61 000 строк.
За:
Гораздо меньше категории ассоциации для базы данных к быстрому пути (61,000 ассоциации по сравнению с 900000 ассоциаций, образованных в первом способе)Против:
Гораздо более внутренние соединения. Продукты подключаются к дорожкам категорий, которые, в свою очередь, связаны с категориями во многих отношениях.
Какой из этих технологий вы считаете наиболее подходящей? Мне нужны FAST retrievals, поэтому операторы быстрого выбора должны быть основными критериями.
Я понимаю, что многое зависит от правильной индексации, но в первом сценарии размер строк растет в 3 раза, по крайней мере, где, как и во втором сценарии, существует так много внутренних объединений, что я боюсь, что скорость поиска отрицательно сказывается.