As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Evite fazer cálculos de ~id na consulta
Ao usar IDs customização nas consultas, sempre realize cálculos estáticos fora das consultas e forneça esses valores nos parâmetros. Quando valores estáticos são fornecidos, o mecanismo é mais capaz de otimizar as pesquisas e evitar a digitalização e a filtragem desses valores.
Se você quiser criar bordas entre os nós existentes no banco de dados, uma opção pode ser:
UNWIND $sections as section MATCH (s:Section {`~id`: 'Sec-' + section.id}) MERGE (s)-[:IS_PART_OF]->(g:Group {`~id`: 'g1'})
Com parâmetros:
parameters={sections: [{id: '1'}, {id: '2'}]}
Na consulta acima, o id
da seção está sendo computado na consulta. Como a computação é dinâmica, o mecanismo não pode embutir identificações estaticamente e acaba escaneando todos os nós da seção. Em seguida, o mecanismo executa a pós-filtragem dos nós necessários. Isso pode ser caro se houver muitos nós de seção no banco de dados.
A melhor maneira de fazer isso é Sec-
prefixar os ids que estão sendo passados para o banco de dados:
UNWIND $sections as section MATCH (s:Section {`~id`: section.id}) MERGE (s)-[:IS_PART_OF]->(g:Group {`~id`: 'g1'})
Com parâmetros:
parameters={sections: [{id: 'Sec-1'}, {id: 'Sec-2'}]}