/ / cypher query dla najkrótszej ścieżki jest zbyt wolne - neo4j, najkrótsza ścieżka, cypher

cypher query dla najkrótszej ścieżki jest zbyt wolne - neo4j, najkrótsza ścieżka, cypher

Używam Neo4j1.9m05. Chcę obliczyć najkrótszą ścieżkę między każdą parą węzłów. Teraz używam tego zapytania:

START a=node(1), b=node(1-1000) MATCH p=shortestPath(a-[:cooperate*..50]-b) RETURN length(p)

1-1000 oznacza po prostu 1000 węzłów. To proste zapytanie kosztuje więcej niż 2 minuty, czyli zbyt wolno. Chcę zapytać o 1000 par o najkrótszej długości ścieżki. Czy ktoś może pomóc?

Odpowiedzi:

1 dla odpowiedzi № 1

Rzeczy do wypróbowania

Czy uruchomiłeś zapytanie w zimnej pamięci podręcznej? Spróbuj uruchomić go dwukrotnie, aby zweryfikować.

Sprawdź, czy jest wystarczająca ilość pamięci. Najkrótsze zapytania o ścieżki przynoszą ogromne trafienie, jeśli odpowiednia część wykresu nie mieści się w pamięci podręcznej.

Zauważyłem, że szukasz nieukierunkowanej ścieżki. Możesz pomóc algorytmowi, określając kierunek, jeśli to możliwe.