Процедура apoc.periodic.iterate
принимает два запроса:
- первый, кто создал набор узлов в вашем примере
- второй будет выполнен для каждого результата первого запроса
Таким образом, в вашем примере ваше соответствие всем Node
вашей базы данных, а затем вы удаляете их с размером пакета 10000.
Процедура apoc.periodic.commit
принимает только один запрос, и процедура будет выполнять запрос снова, и снова, и снова ..., пока ее результат не будет равен 0 .
Итак, в вашем примере вы берете первые 10000 узлов и удаляете их. Вы повторяете это поведение до тех пор, пока в вашей базе данных не останется Node
.
Для возобновления оба запроса дают одинаковый результат, но не одинаковым образом. apoc.periodic.iterate
займет немного больше оперативной памяти, чем apoc.periodic.commit
(процедура должна сначала создать набор узлов), но с одной стороны, вы можете использовать весь свой ЦП через конфигурацию parallel:true
(но будьте осторожны с замками).
Если у вас действительно огромное количество узлов для удаления, я рекомендую вам использовать apoc.periodic.commit
.