Проблемы вложенности

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
PartyPoison
Сообщения: 69
Зарегистрирован: 2017.04.27, 11:04

Проблемы вложенности

Сообщение PartyPoison »

Приветствую всех, необходима помощь грамотного разработчика. Собственно к проблеме:
Есть таблица продуктов в ней есть колонка артикула и еще различные колонки не суть.
Есть таблица cross в которой указаны аналоги для продуктов (Записей 85000+ парсилась из csv).Выглядит она следующим образом: Изображение
В нем важны 2 колонки Артикул и Артикул Кросса.
Одному и тому же Артикулу могут принадлежать 2 разных Кросс Артикула :
Изображение
Кросс артикулы это по сути то же артикулы товаров из таблицы продуктов.

И здесь возникает проблема Кросс артикулам данного артикула могут присваиваться так же кросс артикулы (то есть где то ниже в файле они уже будут в колонке артикул а им присвоены свои кросс артикулы) при этом исходному артикулу необходимо вывести и их кросс артикулы (текстом это пояснить сложновато)
Изображу схематично:
Изображение
Тесть получается некое древо при этом вложенность может быть намного больше вплоть до 100 элементов, а то и больше изучать данный файл страшно, а вершиной древа может стать любой артикул. И если учитывать что при данной структуре базы Артикул 1 видит только 2 кросса пренадлежащим ему, то ему также пренадлежат те артикулы которые принадлежат его кроссам, но как их получить я без понятия учитывая что их может быть много и глубина вложенности заведомо не известна рекурсия может быть огромной а запросов к базе неимоверное количество.

Итак вопрос как бы мне при данной структуре бд получить все артикулы принадлежащие первоначальному с минимальным количеством запросов к бд. ФАйл csv выглядит аналогично, вариант переписки парсера так же не радует, скорее пугает ибо 85000+ записей и шерстить по такому массиву сравнивая артикулы смерти подобно и количество записей для связей многие ко многим в базе увеличится с 85000 до милиона а то и пуще.

ps. Это тяжело читать и понять но я думаю может у кого либо выйдет.
trueorfalse
Сообщения: 680
Зарегистрирован: 2017.06.21, 13:50

Re: Проблемы вложенности

Сообщение trueorfalse »

а запросов к базе неимоверное количество.
Чтобы такого не было, сделай запрос в методе.
Присвой свойстве данный метод.
Работай с свойством.
Ответить