Я все еще новичок в neo4j. Я написал небольшую службу RESTFUL, которая вставляет узлы в базу данных neo4j (сервер) через REST в качестве PoC. Структура выглядит так: root - [NODES] -> n -> [NODE] -> node
Узел n - это тот, который "центрирован". Я планировал добавить другой центрированный узел в качестве разных типов узлов (например, продукты / категории / документы / атрибуты / пользователи ...)
В моем первом примере я добавил ок. 1.000 узлов. Теперь я попытался увеличить количество узлов и запросить эти узлы. Теперь я столкнулся со своего рода "проблемами" производительности. Это мои запросы, выполняемые в веб-консоли neo4j (1.6.1)
START x = node (0) MATCH PATH = (x - [: NODES] -> по центру - [: NODE] -> node) вернуть узел ORDER BY node.id LIMIT 10
START x = node (0) MATCH PATH = (x - [: NODES] -> по центру - [: NODE] -> node) return count (*)
Мне нужны запросы для разбивки на страницы. Первый должен выбрать элементы, которые будут отображаться, а второй - для расчета страниц.
Время запроса: 1.000 узлов: ~ 120 мс 4.000 узлов: ~ 200 - 300 мсек 6.000 узлов: ~ 250 - 500 мс
Время запроса шифра увеличивается очень быстро (на мой взгляд). Я планировал таким образом добавить ~ 2.000.000 узлов. Что-то не так с моими запросами? Можно ли получить их быстрее? (Я уже установил размер кучи neo4j на 100M, что должно быть нормально для узлов 10k)
Заранее спасибо!