Представьте себе следующую ситуацию БОЛЬШИХ ДАННЫХ:
В базе данных SQL хранится 1 миллион человек.
Каждый из них следует точно за 50 другими людьми.
Итак, есть такая таблица (с 50 миллионами записей):
person1 | person2
0 | 1
0 | 2.341
0 | 212.881
.. | ..
999.999 | 421.111
999.999 | 891.129
999.999 | 920.917
Можно ли использовать Oracle connect by
или MySQL WITH RECURSIVE
, чтобы выяснить, существует ли связь (возможно, через посредников) от одного человека к другому?
Будут ли эти запросы работать буквально вечно? (данные тесно связаны)
Или есть способ ограничить глубину запросов? (в данном случае: только <3 посредников) </p>
контекст: этот пример будет использован для объяснения того, почему база данных графов может быть лучше в некоторых случаях, и я хочу показать, возможно ли это даже с помощью SQL.