That sounds like a lot of constraints or am i wrong?

Il giorno gio 7 feb 2019, 20:19 Eve Freeman <eve.fre...@gmail.com> ha
scritto:

> Yes. You would need to add a constraint for each label + id combination.
>
> On Thu, Feb 7, 2019 at 1:57 PM Andrea Balzoni <
> andrea.balz...@keypartner.it> wrote:
>
>> Sadly the ids i'm trying to add are not going to be necessarily unique,
>> hence why i'm using merge. I think i grasped what a constrant is, but i
>> cant say the same about indexes. So you are telling me that adding a
>> constraint on ids would make the query faster? Sorry about questions that
>> might sound stupid, but i'm fairly new to neo4j...
>>
>> Il giorno gio 7 feb 2019, 18:59 Eve Freeman <eve.fre...@gmail.com> ha
>> scritto:
>>
>>> One other note--if you know these are unique ids, you can avoid using
>>> merge, and just use create, which will be quicker still.
>>>
>>> On Thu, Feb 7, 2019 at 12:54 PM Eve Freeman <eve.fre...@gmail.com>
>>> wrote:
>>>
>>>> Well, what a merge will do is check whether something exists before it
>>>> creates it, "match or create". The match step will get linearly slower as
>>>> it has to scan larger and larger lists of nodes on a label. If you add an
>>>> index (at minimum), or unique constraint/node key (preferred, especially if
>>>> you require uniqueness and will eventually have concurrent requests of this
>>>> nature), it will be able to do the match step much quicker.
>>>>
>>>> On Thu, Feb 7, 2019 at 12:50 PM Andrea Balzoni <
>>>> andrea.balz...@keypartner.it> wrote:
>>>>
>>>>> Honestly i heard of those, but i'm not using any. I'm quite new to it,
>>>>> so i wasnt sure what their purpose is.
>>>>>
>>>>> Il giorno gio 7 feb 2019, 18:43 Eve Freeman <eve.fre...@gmail.com> ha
>>>>> scritto:
>>>>>
>>>>>> What's your schema? Do you have a unique constraint or index on the
>>>>>> labels + id you're merging on?
>>>>>>
>>>>>> Eve
>>>>>>
>>>>>> On Thu, Feb 7, 2019 at 12:23 PM <andrea.balz...@keypartner.it> wrote:
>>>>>>
>>>>>>> Hello everyone, i'm trying to MERGE thousands of nodes using UNWIND
>>>>>>> and apoc procedures (for a dynamic label creation) using Java Driver as
>>>>>>> follows:
>>>>>>>
>>>>>>>         String query =
>>>>>>>                 "UNWIND $nodes AS n " +
>>>>>>>                 "CALL apoc.merge.node([n.category], {id: n.id}, n)
>>>>>>> YIELD node RETURN node";
>>>>>>>         session.run( query, params );
>>>>>>>
>>>>>>>
>>>>>>> My database contains something like 150k nodes divided by 16 labels
>>>>>>> and 130k relationships of the same type. It worked fine so far, it never
>>>>>>> failed to deliver, but now that i'm trying to create something like 4k 
>>>>>>> new
>>>>>>> nodes and 5k new relationships at once it took more than 30 minutes. I 
>>>>>>> feel
>>>>>>> like it should be way faster than this.
>>>>>>>
>>>>>>> Am i doing anything wrong? Is it really supposed to be this slow? Is
>>>>>>> there anything i can do to make this process smoother and to improve
>>>>>>> performances?
>>>>>>>
>>>>>>> Thanks in advance
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Neo4j" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to neo4j+unsubscr...@googlegroups.com.
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Neo4j" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to neo4j+unsubscr...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Neo4j" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to neo4j+unsubscr...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Neo4j" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to neo4j+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Neo4j" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to neo4j+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to neo4j+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to