почти одинаковые запросы Cypher с очень разным временем выполнения - PullRequest
0 голосов
/ 17 января 2019

У меня есть один шаблон запроса:

MATCH path=(start:LABEL)<-[:PATH*]-(global:LABEL)
WHERE all(node IN nodes(path) WHERE node:LABEL) AND
      id(start) =  id_one AND
      id(global) = id_two
RETURN start

в зависимости от того, какие идентификаторы я ввожу, это приводит к очень разному времени выполнения.

Как это может быть и как обеспечить низкое время выполнения для любых двух комбинаций идентификаторов?

1 Ответ

0 голосов
/ 20 февраля 2019

Мое решение теперь выглядит так:

MATCH (start:LABEL)
WHERE id(start)= {}
MATCH (end:LABEL)
WHERE id(end) = {}
MATCH path=shortestPath((start)<-[:PATH*]-(end))
RETURN DISTINCT start

Это немного быстрее для меня.

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