Почему так много БД попало в neo4j?

#neo4j #cypher #graph-databases

#neo4j #cypher #графические базы данных

Вопрос:

введите описание изображения здесь
введите описание изображения здесь В моем случае всего 1 узел категории и 2 узла шаблона. Я вставил * в [*] для поддержки дополнительных сценариев. Но почему в этом шифре так много попаданий в БД для текущих данных?

Ответ №1:

Вероятно * , это часть вашего запроса «в отношениях», которая это делает.

Хотя у вас есть только один узел категории и два узла шаблона, вы попросили Neo4j перейти через любое количество связей, чтобы перейти от одного к другому, и не дали ему никакой помощи для сужения поиска, кроме указания начального узла.

Например, если ваша категория была подключена к 100 000 другим узлам (любой метки, а не только шаблона), вы заставили Neo4j перебирать каждый из них в поисках пути к узлу шаблона — и если у этих узлов есть свои собственные соединения, тогда все они должны бытьтоже изучено, потому что глубина обхода не ограничена.

Если вы знаете, как узлы категорий и шаблонов могут быть соединены интересующими вас способами (например, если есть только каждый определенный набор отношений, которые вы хотите просмотреть), то вы радикально улучшите производительность запроса. В равной степени поможет уменьшение максимальной длины пути.