Hi there, I’m using redisgraph to fetch relationships on a dataset (278174067 nodes, 1B+ edges). I’m querying for a subgraph and all of its connections using something like:
MATCH (n)--(m) WHERE ID(n) IN [218836039, ...] RETURN ID(m);
But when I do a where in query like this, it causes a scan across all nodes:
127.0.0.1:6379> GRAPH.PROFILE CitationGraph "MATCH (n)--(m) WHERE ID(n) IN [218836039] RETURN ID(m);"
1) "Results | Records produced: 3, Execution time: 0.001694 ms"
2) " Project | Records produced: 3, Execution time: 0.004458 ms"
3) " Conditional Traverse | (n)->(n) | Records produced: 3, Execution time: 0.219874 ms"
4) " Filter | Records produced: 1, Execution time: 30671.713618 ms"
5) " All Node Scan | (n) | Records produced: 278174067, Execution time: 17379.285974 ms"
Which ends up being ~51.49s for one filter node id, which is too slow for my use case. Is there a way I can improve this query speed?
Thanks in advance!