Neo4j считает несоответствие - PullRequest
       51

Neo4j считает несоответствие

0 голосов
/ 26 сентября 2019

Neo4j версия: 3.5.0
Показатели отличаются друг от друга с хорошим запасом в определенное время.
Как это возможно?
Метка count(*) показывает меньшее число по сравнению с exists count(*)

neo4j> MATCH (n:User) where exists(n.user_id) RETURN count(*);
+----------+
| count(*) |
+----------+
| 8340287  |
+----------+

1 row available after 1130 ms, consumed after another 0 ms
neo4j> MATCH (n:User) RETURN count(*);
+----------+
| count(*) |
+----------+
| 8322843  |
+----------+

1 row available after 5 ms, consumed after another 0 ms

1 Ответ

1 голос
/ 26 сентября 2019

В версии 3.5.0 есть некоторые ошибки в функции count (см. changelog )

Я рекомендую вам обновить!В версии 3.5.0 есть много ошибок, а последняя версия - 3.5.11

Чтобы быть уверенным, что ваша проблема проистекает из этого, вы можете попробовать выполнить те же запросы с префиксом: CYPHER runtime=slotted

Пример: CYPHER runtime=slotted MATCH (n:User) RETURN count(*);

Если у вас те же числа, что и раньше, ошибка приходит из версии.

Другая возможность состоит в том, что ошибка исходит из статистикибаза данных.Чтобы узнать, можете ли вы выполнить этот запрос: MATCH (n:User) WHERE id(n)>=0 RETURN count(*);

Cheers

...