/ / Запит cypher для найкоротшого шляху занадто повільний - neo4j, найкоротший шлях, cypher

Запит cypher для найкоротшого шляху занадто повільний - neo4j, shortest-path, cypher

Я використовую Neo4j1.9m05. Я хочу розрахувати найкоротший шлях між кожною парою вузлів. Зараз я використовую цей запит Cypher:

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

1-1000 просто означає, що є 1000 вузлів. Цей простий запит коштує більше 2 хвилин, що занадто повільно. Я просто хочу надіслати запит на 1000 пар найкоротшого шляху. Чи може хто-небудь допомогти?

Відповіді:

1 для відповіді № 1

Що спробувати

Ви запустили запит у холодній кеш-пам'яті? Спробуйте запустити його двічі, щоб перевірити.

Перевірте, чи є достатньо пам'яті. Найкоротші запити на шляхи приймають величезний удар, якщо релевантна частина графіка не вміщається в кеш.

Я помітив, що ви шукаєте неорієнтований шлях. Ви можете допомогти алгоритму, вказавши напрям, якщо це можливо.