Thanks Michael. 
Yeah, double negation because it's part of a more complex logic that has 
that result, but even removing that condition is slow.
We'll try your proposal anyway.

On Wednesday, April 20, 2016 at 3:57:47 AM UTC-3, Michael Hunger wrote:
>
> Double Negation ?
> r1 is never null
> Add a label to n1
> Use a Union
> Look at the query plan with profile
>
> Try this:
>
>
> MATCH (n:`label1`:`label2`) WHERE size( (n)-[:rel1]->() ) = 0 
> RETURN COUNT(n) AS count;
> UNION
> MATCH (n:`label1`:`label2`)-[r1:rel1]->(n1:Label3) WHERE n1.`name` IN 
> ["name1","name2"] 
> RETURN COUNT(n) AS count;
>
>
> On Wed, Apr 20, 2016 at 12:41 AM, <[email protected] <javascript:>> 
> wrote:
>
>> I'm using Neo4j 2.3.3.
>>
>> The query is very simple:
>>
>> neo4j-sh (?)$ MATCH (n:`label1`:`label2`), n-[r1:rel1]->n1 WHERE 
>> (n1.`name` IN ["name1","name2"] OR NOT(r1 IS NOT NULL)) RETURN COUNT(n) AS 
>> count;
>> +--------+
>> | count  |
>> +--------+
>> | 462059 |
>> +--------+
>> 1 row
>> 2894 ms
>>
>>
>> Any ideas on how to improve it?
>>
>> -- 
>> 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 [email protected] <javascript:>.
>> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to