Предполагая, что есть N вершин и E ребер. Для каждой таблицы может быть соединение между каждой парой вершин, и необходимо проверить все вершины на равенство. Таким образом, производительность в худшем случае будет O (| V | + | E |)
Обновлено:
Если вы рассматриваете Mysql, есть много вещей, которые влияют на сложность, если у вас есть индекс первичного ключа в поле, будет использоваться индекс b-дерева. Если это обычный некластеризованный индекс, будет использован хеш-индекс. Для каждой из этих структур данных существуют разные затраты.
Из вашего другого вопроса, я вижу, это ваши требования
1. Рассчитайте путь от UserX до UserY
2. Для UserX рассчитайте всех пользователей, которые находятся на расстоянии не более 3 шагов.
Во-первых, лучше всего применить алгоритм djikstra и создать таблицу в Java, а затем обновить ее в таблице. Обратите внимание, что для добавления каждого нового узла требуется полная обработка.
Другим решением этой проблемы будет использование рекурсивного SQL, введенного в стандарте SQL 1999, для создания представления, содержащего путь от UserX до UserY. Дайте мне знать, если вам нужны ссылки для рекурсивных запросов.
Для второго написанный вами запрос отлично работает.