Улучшает ли явное задание не неоднозначных типов отношений и узлов запрос на шифрование? - PullRequest
0 голосов
/ 28 июня 2019

Предположим, что узлы типа A имеют только один вид исходящих отношений (например, [:relType]) и только с другими узлами типа (:A).

Улучшает ли явное указание типов узлов и отношений запрос и его время отклика?

т.е:.

такой запрос, как

MATCH p=(:A)-[]->() RETURN p;

менее эффективно, чем:

MATCH p=(:A)-[:relType]->(:A) RETURN p;

1 Ответ

1 голос
/ 28 июня 2019

[Обновлено]

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

Однако, как указывает комментарий @ InverseFalcon, иногда планировщик Cypher может использовать тип или метку в качестве подсказки, чтобы позволить ему ускорить общий запрос, несмотря на накладные расходы, связанные с проверкой типа (или метки).

Профилирование Обе версии вашего запроса могут быть полезны при принятии решения, какую из них использовать.

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