Я все еще пытаюсь решить проблему с моей скоростью (показано здесь: Cypher MATCH query speed).Neo4j Индекс, созданный ограничением
Единственное, что я заметил, это то, что я импортирую данные с помощью уникального ограничения (доказано ниже).
neo4j-sh (?) $ Создать индекс на: лице (имя пользователя);
QueryExecutionKernelException: Label 'Person' и свойство 'username' имеют на них уникальное ограничение, поэтому индекс уже создан , который соответствует этому.
При попытке просмотреть индексы в раковине, я получаю следующее:
Neo4j-ш $ индекс --indexes
Node индексы (?):индексы отношений:
Есть ли автогенерированные индексы, которые не должны отображаться? Как я могу проверить, что уникальное ограничение фактически индексирует имя пользователя?
Основная проблема (как показано в приведенной выше ссылке) заключается в том, что нижний простой запрос занимает 36 секунд (с ожидающим вызовом) и дважды в то же время, когда переключается на невозвратный вызов.
USING PERIODIC COMMIT 15000
LOAD CSV WITH HEADERS FROM "file:d:/messages.csv" AS line
MATCH (a:Geotagged { username: line.sender }) - [r:MSGED] -> (b:Geotagged { username: line.recipient })
RETURN NULL;
Обратите внимание, это за исключением SET вызов Первоначально я пытался использовать, я удалил его и в одиночку MATCH принимает навсегда.
Кроме того, я также увеличил pagecache до нескольких раз, что мне нужно, и не видел никаких изменений.
EDIT 1 Узлы с надписью «Geotagged» обозначены как «Лицо». Все узлы являются «Person», некоторые из них также могут быть «Geotagged».
Мой процесс импорта/загрузки заключается в том, чтобы установить уникальное ограничение на Person: username, а затем загрузить все, все под меткой Person. В этом же запросе у меня есть серия операторов CASE WHEN + FOREACH, которые проверяют свойства узлов и добавляют к ней конкретную метку. Вы предполагаете, что мне может потребоваться сдерживать каждую отдельную метку? – Brooks
Да. У меня была аналогичная проблема. У меня было только 3 варианта для моего вторичного лейбла, не знаю, сколько вы добавляете. Я обнаружил, что добавление ограничения единственности для каждой из трех вторичных меток увеличивает экспоненциальные скорости. – Mel18