Понимание показателей в Neo4j - почему необходима повторная выборка? - PullRequest
0 голосов
/ 05 мая 2018

При https://neo4j.com/docs/operations-manual/3.3/performance/statistics-execution-plans/, мы видим следующую таблицу:

Контролирует процент индекса, который должен быть обновлен до запуска нового пробоотбора.

Что означает «выборка»? Почему обновления делают индекс недействительным? Я знаю индексы из реляционных баз данных, и в этом случае нет необходимости поддерживать индексы (строка добавления / удаления соответствует добавлению / удалению узла в некоторых BTree).

Может кто-то, зачем нужна пересчет индексов в Neo4j?

1 Ответ

0 голосов
/ 05 мая 2018

Индекс всегда действителен.

Периодическая выборка генерирует статистику, используемую планировщиком выполнения Cypher, поэтому она может генерировать планы, более оптимальные для текущего состояния БД.

Цитировать из руководства по эксплуатации (чуть раньше таблицы в вашем вопросе):

Когда выдается запрос Cypher, он компилируется в план выполнения. который может запустить и ответить на запрос. Механизм запросов Cypher использует доступная информация о базе данных, такая как информация о схеме о том, какие индексы и ограничения существуют в базе данных. Neo4j также использует статистическую информацию о базе данных для оптимизации план выполнения.

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