Браузер neo4j работает очень медленно - PullRequest
0 голосов
/ 01 октября 2018

Я выполняю запрос ниже в браузере Neo4j.У меня есть 2 метки и 1 отношение в базе данных.Одна метка имеет 50 000 узлов, а другая - 1800 узлов, и существует 48 000 связей.

MATCH (u)-[r]->(n) WITH u, COLLECT(n) AS ns, COLLECT(r) AS rs WHERE SIZE(ns) > 1 RETURN u, ns, rs

Выполнение этого запроса занимает около 5 минут, даже несмотря на то, что на вкладке кода указано Started streaming 7437 records after 98 ms and completed after 199 ms. Я подумал, что это может быть связано с процессом визуализации, поэтому я перешел к настройке иПоместите начальное отображение узла, максимальное число соседей и максимальное количество строк в 0. Это все еще занимает около 5 минут.Есть идеи о том, что может быть причиной этого отставания?

1 Ответ

0 голосов
/ 02 октября 2018

Задержка, вероятно, связана с тем, что сервер отправляет много данных в браузер neo4j.Даже если вы скажете браузеру не отображать все возвращенные данные, ему все равно придется обрабатывать все данные, отправляемые с сервера.

Браузер должен реагировать намного быстрее, если вы изменили запрос Cypher, чтобы сообщитьсервер LIMIT количество данных, которые он отправляет обратно.Например, для отображения 10 u узлов и их данных:

MATCH (u)-[r]->(n)
WITH u, COLLECT(n) AS ns, COLLECT(r) AS rs
WHERE SIZE(ns) > 1
RETURN u, ns, rs
LIMIT 10;
...