Vsevolod V |
---|
fraks |
---|
Если идентификатор детали нормально проиндексируется (т.е. это какой-то уникальный код а не длинная строка) то выборка аналогов по цепочке мне думается может быть вполне быстрой. Это если по конкретной детали вытягиваем ее аналоги а не тянем список деталей с деревом их аналогов. |
Так а каким образом определить взаимосвязи этой цепочки? |
Не понял вопроса. У вас же
таблица аналогов? Или я еще чего-то не понял?
create table analog (
id integer not null primary key,
L varchar(20),
R varchar(20)
);
create index analog_L on analog(L);
create index analog_R on analog(R);
Берем детальку, точнее ее код.
Выбираем из analog записи у которых (L=:деталь) or (L=:деталь)
Рекурсивно вытягиваем все цепочки аналогов.
Сортируем, прибиваем повторения, если потребуется.
"Как-то так".