Я все еще довольно новичок в neo4j. Я написал небольшую услугу RESTFUL, которая вставляет узлы в neo4j db (сервер) через REST в качестве PoC. Структура выглядит следующим образом: root - [NODES] -> n -> [NODE] -> nodeNeo4j cypher query performance через REST на центрированных узлах
n узел - это «центрированный». Я планировал добавить другой центрированный узел в качестве разных типов узлов (например, продуктов/категорий/документов/атрибутов/пользователей ...)
В моем первом примере я добавил ок. 1.000 узлов. Теперь я попытался увеличить количество узлов и запрос для этих узлов. Теперь я столкнулся с проблемой «проблем». Это мои запросы, выполненные на веб-консоли neo4j (1.6.1)
START x = node (0) MATCH PATH = (x - [: NODES] -> centered - [: NODE] -> node) return узел ORDER BY node.id LIMIT 10
START х = узел (0) MATCH PATH = (х - [: - NODES]> по центру - [: уЗЕЛ] -> узла) счетчик возврата (*)
Мне нужны запросы для разбивки на страницы. Первый должен выбрать элементы для отображения, а второй - для расчета страниц.
раз Запрос: +1,000 узлы: ~ 120мс 4,000 узлы: ~ 200 - 300мс 6,000 узлы: ~ 250 - 500мс
шифровальщиком время запроса растет очень быстро (на мой взгляд). Я планировал добавить ~ 2.000.000 узлов таким образом. Что-то не так с моими запросами? Возможно ли получить их быстрее? (Я уже установил свой размер кучи neo4j до 100M, что должно быть в порядке для узлов 10k)
Заранее спасибо!
Я попробую :) Спасибо Andres! – Alebon
Да, это кажется лучше. Теперь у меня есть 10k узлов. Первый запрос опустился с ~ 300-500 мс до ~ 100 мс, а запрос счетчика упал с ~ 110 мс до 50-60 мс. Нравится это;) – Alebon
Еще один вопрос: часто ли использовать эти центрированные узлы? – Alebon