Я работаю над проектом, в котором программа на PHP получает сообщения, такие как изображения, текст и т. Д., И они затем сохраняются в базе данных SQL.Затем пользователи выбирают связанные элементы, отношения которых заносятся во вторую таблицу.Затем мне нужно рассчитать кратчайшее расстояние (если они вообще связаны) между любыми двумя элементами.
Мои таблицы:
Table `items`
'id' int(15); auto_increment; primary index.
'content' longtext; not null
Table `relationships`
'id' int(15); auto_increment; primary index
'item1' int(15) not null
'item2' int(15) not null
Где будут содержаться два столбца в таблице relationships
идентификаторы двух предметов из таблицы items
.Они не уникальны, поэтому каждый предмет может быть связан с десятью, ста или десятью тысячами других предметов.Какие типы запросов я могу использовать, чтобы попытаться найти кратчайшее расстояние в градусах отношений между двумя элементами, не используя всю память и не затрачивая на это вычисления?
Редактировать: чтобы уточнить, я хочучтобы найти «степень разделения» между элементом X и элементом Y, используя таблицу отношений.Я могу придумать справедливое решение только для непосредственных отношений (первой степени) или второй степени, но после этого требования к памяти и времени резко возрастают.