-
Notifications
You must be signed in to change notification settings - Fork 103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve subquery planning #4651
Conversation
95ec3a2
to
be6b15a
Compare
Benchmark ResultMaster commit hash:
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4651 +/- ##
==========================================
- Coverage 86.51% 86.50% -0.01%
==========================================
Files 1369 1369
Lines 57951 58018 +67
Branches 7206 7216 +10
==========================================
+ Hits 50135 50189 +54
- Misses 7648 7661 +13
Partials 168 168 ☔ View full report in Codecov by Sentry. |
Benchmark ResultMaster commit hash:
|
84d4edb
to
3530c01
Compare
Benchmark ResultMaster commit hash:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a few comments left, hope we can discuss them again after you get this in.
3530c01
to
d9797ac
Compare
Benchmark ResultMaster commit hash:
|
Description
This PR improves subquery planning. We used to only unnest internal ID based subquery, e.g.
MATCH (a) WHERE EXISTS { MATCH (a)->(b) }
.This PR generalizes this to any equality joins, e.g.
MATCH (a) WHERE EXISTS { MATCH (b) WHERE a.age = b.age }
Sanity check benchmark
MATCH (a:Comment) WHERE EXISTS { MATCH (b:Comment) WHERE a.id=b.id} RETURN COUNT(*);
For LDBC100, the above query improves from 50s to 12s.
Fixes # (issue)
Contributor agreement