Skip to content
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

Allow reordering of joins in Planner::planRegularMatch #4625

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

royi-luo
Copy link
Collaborator

@royi-luo royi-luo commented Dec 11, 2024

Description

For multi-part queries in cases where there is no dependency between the inner and outer plans we can choose to reorder the join if it produces a plan with lower cost.

Problems

I'm running into an potential bug for test e2e_test_agg~multi_query_part.AggMultiQueryPart subcase GroupByMultiQueryTest4:

-LOG GroupByMultiQueryTest4
-STATEMENT EXPLAIN LOGICAL MATCH (a:person)-[r:knows]->(b:person) WHERE a.ID = 0 WITH a, r, COUNT(*) AS s MATCH (a)-[:knows]->(c:person) WHERE c.ID = s + 1 RETURN r.date, c.ID, s
---- 3
2021-06-30|2|1
2021-06-30|2|1
2021-06-30|2|1

To reproduce this make sure that the comparison is planRegularMatchJoinOrder() is estimateJoinCostFunc(leftPlan, rightPlan) < estimateJoinCostFunc(rightPlan, leftPlan) (with < not <= as the comparison operator).

On the new branch the output is only producing a single tuple 2021-06-30|2|1 instead of the three expected tuples.

Update: the test passes with plan optimizations disabled (more specifically with the unnecessary join remover disabled). It also passes if I force flattens on the probe-side of hash joins (so I suspect the problem has something to do with flattening).

Logical Plan (unnecessary join remover disabled)

┌──────────────────────┐
│┌────────────────────┐│
││    Logical Plan    ││
│└────────────────────┘│
└──────────────────────┘
┌──────────────────────┐                                                                           
│      PROJECTION      │                                                                           
│   ----------------   │                                                                           
│   ----------------   │                                                                           
│    Cardinality: 1    │                                                                           
└──────────┬───────────┘                                                                           
┌──────────┴───────────┐                                                                           
│        FILTER        │                                                                           
│   ----------------   │                                                                           
│         +(s)         │                                                                           
│   ----------------   │                                                                           
│    Cardinality: 1    │                                                                           
└──────────┬───────────┘                                                                           
┌──────────┴───────────┐                                                                           
│      HASH_JOIN       │                                                                           
│   ----------------   │                                                                           
│   ----------------   │─────────────────────────────────────┐                                     
│    Cardinality: 3    │                                     │                                     
└──────────┬───────────┘                                     │                                     
┌──────────┴───────────┐                          ┌──────────┴───────────┐                         
│       FLATTEN        │                          │      PROJECTION      │                         
│   ----------------   │                          │   ----------------   │                         
│   ----------------   │                          │   ----------------   │                         
│   Cardinality: 24    │                          │    Cardinality: 1    │                         
└──────────┬───────────┘                          └──────────┬───────────┘                         
┌──────────┴───────────┐                          ┌──────────┴───────────┐                         
│      HASH_JOIN       │                          │      PROJECTION      │                         
│   ----------------   │                          │   ----------------   │                         
│   ----------------   │────────────┐             │   ----------------   │                         
│   Cardinality: 24    │            │             │    Cardinality: 1    │                         
└──────────┬───────────┘            │             └──────────┬───────────┘                         
┌──────────┴───────────┐ ┌──────────┴───────────┐ ┌──────────┴───────────┐                         
│       FLATTEN        │ │        EXTEND        │ │      AGGREGATE       │                         
│   ----------------   │ │   ----------------   │ │   ----------------   │                         
│   ----------------   │ │     (a)-[]->(c)      │ │   ----------------   │                         
│    Cardinality: 8    │ │   ----------------   │ │    Cardinality: 1    │                         
│                      │ │   Cardinality: 14    │ │                      │                         
└──────────┬───────────┘ └──────────┬───────────┘ └──────────┬───────────┘                         
┌──────────┴───────────┐ ┌──────────┴───────────┐ ┌──────────┴───────────┐                         
│   SCAN_NODE_TABLE    │ │   SCAN_NODE_TABLE    │ │      PROJECTION      │                         
│   ----------------   │ │   ----------------   │ │   ----------------   │                         
│    Tables: c._ID     │ │    Tables: a._ID     │ │   ----------------   │                         
│   Properties :c.ID   │ │     Properties :     │ │    Cardinality: 1    │                         
│   ----------------   │ │   ----------------   │ │                      │                         
│    Cardinality: 8    │ │    Cardinality: 8    │ │                      │                         
└──────────────────────┘ └──────────────────────┘ └──────────┬───────────┘                         
                                                  ┌──────────┴───────────┐                         
                                                  │      HASH_JOIN       │                         
                                                  │   ----------------   │                         
                                                  │   ----------------   │────────────┐            
                                                  │    Cardinality: 1    │            │            
                                                  └──────────┬───────────┘            │            
                                                  ┌──────────┴───────────┐ ┌──────────┴───────────┐
                                                  │       FLATTEN        │ │        EXTEND        │
                                                  │   ----------------   │ │   ----------------   │
                                                  │   ----------------   │ │     (a)-[r]->(b)     │
                                                  │    Cardinality: 8    │ │   ----------------   │
                                                  │                      │ │    Cardinality: 1    │
                                                  └──────────┬───────────┘ └──────────┬───────────┘
                                                  ┌──────────┴───────────┐ ┌──────────┴───────────┐
                                                  │   SCAN_NODE_TABLE    │ │   SCAN_NODE_TABLE    │
                                                  │   ----------------   │ │   ----------------   │
                                                  │    Tables: b._ID     │ │    Tables: a._ID     │
                                                  │     Properties :     │ │   Properties :a.ID   │
                                                  │   ----------------   │ │   ----------------   │
                                                  │    Cardinality: 8    │ │    Cardinality: 1    │
                                                  └──────────────────────┘ └──────────────────────┘

Logical Plan (all optimizations enabled)

┌──────────────────────┐
│┌────────────────────┐│
││    Logical Plan    ││
│└────────────────────┘│
└──────────────────────┘
┌──────────────────────┐                                                  
│      PROJECTION      │                                                  
│   ----------------   │                                                  
│   ----------------   │                                                  
│    Cardinality: 1    │                                                  
└──────────┬───────────┘                                                  
┌──────────┴───────────┐                                                  
│        FILTER        │                                                  
│   ----------------   │                                                  
│         +(s)         │                                                  
│   ----------------   │                                                  
│    Cardinality: 1    │                                                  
└──────────┬───────────┘                                                  
┌──────────┴───────────┐                                                  
│      HASH_JOIN       │                                                  
│   ----------------   │                                                  
│   ----------------   │─────────────────────────────────────┐            
│    Cardinality: 3    │                                     │            
└──────────┬───────────┘                                     │            
┌──────────┴───────────┐                          ┌──────────┴───────────┐
│      HASH_JOIN       │                          │      PROJECTION      │
│   ----------------   │                          │   ----------------   │
│   ----------------   │────────────┐             │   ----------------   │
│   Cardinality: 24    │            │             │    Cardinality: 1    │
└──────────┬───────────┘            │             └──────────┬───────────┘
┌──────────┴───────────┐ ┌──────────┴───────────┐ ┌──────────┴───────────┐
│       FLATTEN        │ │        EXTEND        │ │      PROJECTION      │
│   ----------------   │ │   ----------------   │ │   ----------------   │
│   ----------------   │ │     (a)-[]->(c)      │ │   ----------------   │
│    Cardinality: 8    │ │   ----------------   │ │    Cardinality: 1    │
│                      │ │   Cardinality: 14    │ │                      │
└──────────┬───────────┘ └──────────┬───────────┘ └──────────┬───────────┘
┌──────────┴───────────┐ ┌──────────┴───────────┐ ┌──────────┴───────────┐
│   SCAN_NODE_TABLE    │ │   SCAN_NODE_TABLE    │ │      AGGREGATE       │
│   ----------------   │ │   ----------------   │ │   ----------------   │
│    Tables: c._ID     │ │    Tables: a._ID     │ │   ----------------   │
│   Properties :c.ID   │ │     Properties :     │ │    Cardinality: 1    │
│   ----------------   │ │   ----------------   │ │                      │
│    Cardinality: 8    │ │    Cardinality: 8    │ │                      │
└──────────────────────┘ └──────────────────────┘ └──────────┬───────────┘
                                                  ┌──────────┴───────────┐
                                                  │      PROJECTION      │
                                                  │   ----------------   │
                                                  │   ----------------   │
                                                  │    Cardinality: 1    │
                                                  └──────────┬───────────┘
                                                  ┌──────────┴───────────┐
                                                  │        EXTEND        │
                                                  │   ----------------   │
                                                  │     (a)-[r]->(b)     │
                                                  │   ----------------   │
                                                  │    Cardinality: 1    │
                                                  └──────────┬───────────┘
                                                  ┌──────────┴───────────┐
                                                  │   SCAN_NODE_TABLE    │
                                                  │   ----------------   │
                                                  │    Tables: a._ID     │
                                                  │   Properties :a.ID   │
                                                  │   ----------------   │
                                                  │    Cardinality: 1    │
                                                  └──────────────────────┘

Contributor agreement

@royi-luo royi-luo self-assigned this Dec 11, 2024
@royi-luo royi-luo force-pushed the royi/more-plan-improvements branch from 085efd6 to 0ed3fae Compare December 12, 2024 23:13
@@ -1,5 +1,5 @@
-DATASET CSV lsqb-sf01
-BUFFER_POOL_SIZE 1073741824
-BUFFER_POOL_SIZE 4294967296
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For q3 we overestimate the cardinality of the cycle query MATCH (person1)-[:Person_knows_Person]-(person2)-[:Person_knows_Person]-(person3)-[:Person_knows_Person]-(person1) so when we join it with the remaining part of the query we reorder the cycle query to be on the probe side. So q3 runs quite a bit slower and goes over the old buffer pool limit.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The plan (the problematic join is the outer/leftmost one):

┌────────────────────────────┐
│┌──────────────────────────┐│
││       Logical Plan       ││
│└──────────────────────────┘│
└────────────────────────────┘
┌────────────────────────────┐                                                                                                                                                                                                                         
│         PROJECTION         │                                                                                                                                                                                                                         
│   ----------------------   │                                                                                                                                                                                                                         
│   ----------------------   │                                                                                                                                                                                                                         
│       Cardinality: 1       │                                                                                                                                                                                                                         
└─────────────┬──────────────┘                                                                                                                                                                                                                         
┌─────────────┴──────────────┐                                                                                                                                                                                                                         
│         AGGREGATE          │                                                                                                                                                                                                                         
│   ----------------------   │                                                                                                                                                                                                                         
│   ----------------------   │                                                                                                                                                                                                                         
│       Cardinality: 1       │                                                                                                                                                                                                                         
└─────────────┬──────────────┘                                                                                                                                                                                                                         
┌─────────────┴──────────────┐                                                                                                                                                                                                                         
│         PROJECTION         │                                                                                                                                                                                                                         
│   ----------------------   │                                                                                                                                                                                                                         
│   ----------------------   │                                                                                                                                                                                                                         
│      Cardinality: 119      │                                                                                                                                                                                                                         
└─────────────┬──────────────┘                                                                                                                                                                                                                         
┌─────────────┴──────────────┐                                                                                                                                                                                                                         
│         HASH_JOIN          │                                                                                                                                                                                                                         
│   ----------------------   │                                                                                                                                                                                                                         
│   ----------------------   │──────────────────────────────────────────────┐                                                                                                                                                                          
│      Cardinality: 119      │                                              │                                                                                                                                                                          
└─────────────┬──────────────┘                                              │                                                                                                                                                                          
┌─────────────┴──────────────┐                                ┌─────────────┴──────────────┐                                                                                                                                                           
│         HASH_JOIN          │                                │          FLATTEN           │                                                                                                                                                           
│   ----------------------   │                                │   ----------------------   │                                                                                                                                                           
│   ----------------------   │───────────────┐                │   ----------------------   │                                                                                                                                                           
│    Cardinality: 1473696    │               │                │    Cardinality: 398749     │                                                                                                                                                           
└─────────────┬──────────────┘               │                └─────────────┬──────────────┘                                                                                                                                                           
┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐                                                                                                                                                           
│          FLATTEN           │ │         PROJECTION         │ │         PROJECTION         │                                                                                                                                                           
│   ----------------------   │ │   ----------------------   │ │   ----------------------   │                                                                                                                                                           
│   ----------------------   │ │   ----------------------   │ │   ----------------------   │                                                                                                                                                           
│   Cardinality: 22015143    │ │     Cardinality: 18135     │ │    Cardinality: 398749     │                                                                                                                                                           
└─────────────┬──────────────┘ └─────────────┬──────────────┘ └─────────────┬──────────────┘                                                                                                                                                           
┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐                                                                                                                                                           
│          FLATTEN           │ │           EXTEND           │ │         HASH_JOIN          │                                                                                                                                                           
│   ----------------------   │ │   ----------------------   │ │   ----------------------   │                                                                                                                                                           
│   ----------------------   │ │   (person1)-[]-(person2)   │ │   ----------------------   │───────────────────────────────                               ──────────────────────────────────────────────┐                                              
│    Cardinality: 2063730    │ │   ----------------------   │ │    Cardinality: 398749     │                                                                                                            │                                              
│                            │ │     Cardinality: 18135     │ │                            │                                                                                                            │                                              
└─────────────┬──────────────┘ └─────────────┬──────────────┘ └─────────────┬──────────────┘                                                                                                            │                                              
┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐                                                                                              ┌─────────────┴──────────────┐                               
│           EXTEND           │ │      SCAN_NODE_TABLE       │ │         HASH_JOIN          │                                                                                              │         PROJECTION         │                               
│   ----------------------   │ │   ----------------------   │ │   ----------------------   │                                                                                              │   ----------------------   │                               
│   (person3)-[]-(person1)   │ │    Tables: person1._ID     │ │   ----------------------   │                                                                                              │   ----------------------   │                               
│   ----------------------   │ │        Properties :        │ │     Cardinality: 26036     │──────────────────────────────────────────────┬───────────────                                │     Cardinality: 1700      │                               
│    Cardinality: 193457     │ │   ----------------------   │ │                            │                                              │                                               │                            │                               
│                            │ │     Cardinality: 1700      │ │                            │                                              │                                               │                            │                               
└─────────────┬──────────────┘ └────────────────────────────┘ └─────────────┬──────────────┘                                              │                                               └─────────────┬──────────────┘                               
┌─────────────┴──────────────┐                                ┌─────────────┴──────────────┐                                ┌─────────────┴──────────────┐                                ┌─────────────┴──────────────┐                               
│           EXTEND           │                                │          FLATTEN           │                                │         PROJECTION         │                                │         HASH_JOIN          │                               
│   ----------------------   │                                │   ----------------------   │                                │   ----------------------   │                                │   ----------------------   │                               
│   (person3)-[]-(person2)   │                                │   ----------------------   │                                │   ----------------------   │                                │   ----------------------   │───────────────┐               
│   ----------------------   │                                │     Cardinality: 1700      │                                │     Cardinality: 1700      │                                │     Cardinality: 1700      │               │               
│     Cardinality: 18135     │                                │                            │                                │                            │                                │                            │               │               
└─────────────┬──────────────┘                                └─────────────┬──────────────┘                                └─────────────┬──────────────┘                                └─────────────┬──────────────┘               │               
┌─────────────┴──────────────┐                                ┌─────────────┴──────────────┐                                ┌─────────────┴──────────────┐                                ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐
│      SCAN_NODE_TABLE       │                                │         HASH_JOIN          │                                │         HASH_JOIN          │                                │          FLATTEN           │ │           EXTEND           │
│   ----------------------   │                                │   ----------------------   │                                │   ----------------------   │                                │   ----------------------   │ │   ----------------------   │
│    Tables: person3._ID     │                                │   ----------------------   │                                │   ----------------------   │                                │   ----------------------   │ │   (city3)-[]->(country)    │
│        Properties :        │                                │     Cardinality: 1700      │───────────────┐                │     Cardinality: 1700      │───────────────┐                │     Cardinality: 1700      │ │   ----------------------   │
│   ----------------------   │                                │                            │               │                │                            │               │                │                            │ │     Cardinality: 1343      │
│     Cardinality: 1700      │                                │                            │               │                │                            │               │                │                            │ │                            │
└────────────────────────────┘                                └─────────────┬──────────────┘               │                └─────────────┬──────────────┘               │                └─────────────┬──────────────┘ └─────────────┬──────────────┘
                                                              ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐
                                                              │          FLATTEN           │ │           EXTEND           │ │          FLATTEN           │ │           EXTEND           │ │           EXTEND           │ │      SCAN_NODE_TABLE       │
                                                              │   ----------------------   │ │   ----------------------   │ │   ----------------------   │ │   ----------------------   │ │   ----------------------   │ │   ----------------------   │
                                                              │   ----------------------   │ │   (city1)-[]->(country)    │ │   ----------------------   │ │   (city2)-[]->(country)    │ │   (person3)-[]->(city3)    │ │     Tables: city3._ID      │
                                                              │     Cardinality: 1700      │ │   ----------------------   │ │     Cardinality: 1700      │ │   ----------------------   │ │   ----------------------   │ │        Properties :        │
                                                              │                            │ │     Cardinality: 1343      │ │                            │ │     Cardinality: 1343      │ │     Cardinality: 1700      │ │   ----------------------   │
                                                              │                            │ │                            │ │                            │ │                            │ │                            │ │     Cardinality: 1343      │
                                                              └─────────────┬──────────────┘ └─────────────┬──────────────┘ └─────────────┬──────────────┘ └─────────────┬──────────────┘ └─────────────┬──────────────┘ └────────────────────────────┘
                                                              ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐ ┌─────────────┴──────────────┐                               
                                                              │           EXTEND           │ │      SCAN_NODE_TABLE       │ │           EXTEND           │ │      SCAN_NODE_TABLE       │ │      SCAN_NODE_TABLE       │                               
                                                              │   ----------------------   │ │   ----------------------   │ │   ----------------------   │ │   ----------------------   │ │   ----------------------   │                               
                                                              │   (person1)-[]->(city1)    │ │     Tables: city1._ID      │ │   (person2)-[]->(city2)    │ │     Tables: city2._ID      │ │    Tables: person3._ID     │                               
                                                              │   ----------------------   │ │        Properties :        │ │   ----------------------   │ │        Properties :        │ │        Properties :        │                               
                                                              │     Cardinality: 1700      │ │   ----------------------   │ │     Cardinality: 1700      │ │   ----------------------   │ │   ----------------------   │                               
                                                              │                            │ │     Cardinality: 1343      │ │                            │ │     Cardinality: 1343      │ │     Cardinality: 1700      │                               
                                                              └─────────────┬──────────────┘ └────────────────────────────┘ └─────────────┬──────────────┘ └────────────────────────────┘ └────────────────────────────┘                               
                                                              ┌─────────────┴──────────────┐                                ┌─────────────┴──────────────┐                                                                                             
                                                              │      SCAN_NODE_TABLE       │                                │      SCAN_NODE_TABLE       │                                                                                             
                                                              │   ----------------------   │                                │   ----------------------   │                                                                                             
                                                              │    Tables: person1._ID     │                                │    Tables: person2._ID     │                                                                                             
                                                              │        Properties :        │                                │        Properties :        │                                                                                             
                                                              │   ----------------------   │                                │   ----------------------   │                                                                                             
                                                              │     Cardinality: 1700      │                                │     Cardinality: 1700      │                                                                                             
                                                              └────────────────────────────┘                                └────────────────────────────┘                                                    

Temp disable reorder for hash join

Re-enable hash-join reorder

Undo test change

Correctly populate schema cardinality multiplier in cardinality multiplier

Temp raise buffer pool size for lsqb test
@royi-luo royi-luo force-pushed the royi/more-plan-improvements branch from 0ed3fae to a2cbcbe Compare December 13, 2024 00:50
Copy link

codecov bot commented Dec 13, 2024

Codecov Report

Attention: Patch coverage is 87.80488% with 5 lines in your changes missing coverage. Please review.

Project coverage is 87.47%. Comparing base (aa27c83) to head (1221cf2).
Report is 5 commits behind head on master.

Files with missing lines Patch % Lines
src/planner/plan/plan_read.cpp 0.00% 5 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4625      +/-   ##
==========================================
+ Coverage   87.46%   87.47%   +0.01%     
==========================================
  Files        1369     1371       +2     
  Lines       57888    57951      +63     
  Branches     7206     7211       +5     
==========================================
+ Hits        50632    50693      +61     
- Misses       7088     7090       +2     
  Partials      168      168              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

Benchmark Result

Master commit hash: ca954126a0dcb93c4a3acafeccc0f9499f77851c
Branch commit hash: 5dba70a53b5e43a0193320700e07fa9ea0f9034d

Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
aggregation q24 652.04 654.50 -2.46 (-0.38%)
aggregation q28 11614.76 11383.55 231.21 (2.03%)
filter q14 133.83 133.44 0.40 (0.30%)
filter q15 135.71 131.65 4.06 (3.09%)
filter q16 311.52 306.32 5.20 (1.70%)
filter q17 452.35 454.99 -2.64 (-0.58%)
filter q18 1971.13 1935.78 35.34 (1.83%)
filter zonemap-node 94.38 94.37 0.00 (0.00%)
filter zonemap-node-lhs-cast 94.65 94.82 -0.17 (-0.18%)
filter zonemap-rel 5656.76 5634.38 22.38 (0.40%)
fixed_size_expr_evaluator q07 579.82 587.87 -8.05 (-1.37%)
fixed_size_expr_evaluator q08 811.49 819.50 -8.01 (-0.98%)
fixed_size_expr_evaluator q09 811.86 823.66 -11.80 (-1.43%)
fixed_size_expr_evaluator q10 243.86 249.52 -5.65 (-2.27%)
fixed_size_expr_evaluator q11 238.21 241.07 -2.85 (-1.18%)
fixed_size_expr_evaluator q12 235.47 237.69 -2.22 (-0.94%)
fixed_size_expr_evaluator q13 1471.30 1481.68 -10.38 (-0.70%)
fixed_size_seq_scan q23 119.98 116.51 3.47 (2.98%)
join q29 602.58 586.29 16.29 (2.78%)
join q30 1532.07 1520.46 11.61 (0.76%)
join q31 5.73 5.39 0.33 (6.15%)
join SelectiveTwoHopJoin 48.88 52.08 -3.20 (-6.14%)
ldbc_snb_ic q35 2554.96 2620.41 -65.45 (-2.50%)
ldbc_snb_ic q36 523.01 534.94 -11.93 (-2.23%)
ldbc_snb_is q32 5.37 4.58 0.79 (17.25%)
ldbc_snb_is q33 13.98 11.82 2.16 (18.32%)
ldbc_snb_is q34 1.03 1.10 -0.07 (-6.62%)
multi-rel multi-rel-large-scan 1223.10 1235.21 -12.11 (-0.98%)
multi-rel multi-rel-lookup 17.03 21.60 -4.56 (-21.13%)
multi-rel multi-rel-small-scan 74.47 88.39 -13.92 (-15.75%)
order_by q25 139.38 140.44 -1.06 (-0.76%)
order_by q26 451.94 461.42 -9.47 (-2.05%)
order_by q27 1465.93 1467.97 -2.04 (-0.14%)
recursive_join recursive-join-bidirection 273.02 312.27 -39.25 (-12.57%)
recursive_join recursive-join-dense 6271.04 7444.49 -1173.46 (-15.76%)
recursive_join recursive-join-path 23949.34 23647.88 301.46 (1.27%)
recursive_join recursive-join-sparse 13751.66 14098.76 -347.10 (-2.46%)
recursive_join recursive-join-trail 6899.36 7393.63 -494.27 (-6.69%)
scan_after_filter q01 179.12 178.16 0.96 (0.54%)
scan_after_filter q02 164.51 164.40 0.11 (0.07%)
shortest_path_ldbc100 q37 83.82 84.41 -0.59 (-0.70%)
shortest_path_ldbc100 q38 361.05 369.83 -8.77 (-2.37%)
shortest_path_ldbc100 q39 59.26 60.72 -1.45 (-2.39%)
shortest_path_ldbc100 q40 456.02 445.26 10.76 (2.42%)
var_size_expr_evaluator q03 2151.65 2114.31 37.35 (1.77%)
var_size_expr_evaluator q04 2303.00 2251.58 51.43 (2.28%)
var_size_expr_evaluator q05 2577.79 2636.87 -59.08 (-2.24%)
var_size_expr_evaluator q06 1329.71 1335.26 -5.55 (-0.42%)
var_size_seq_scan q19 1492.83 1478.02 14.80 (1.00%)
var_size_seq_scan q20 2675.30 2656.44 18.86 (0.71%)
var_size_seq_scan q21 2315.81 2293.28 22.53 (0.98%)
var_size_seq_scan q22 129.26 127.85 1.40 (1.10%)

Copy link

Benchmark Result

Master commit hash: ca954126a0dcb93c4a3acafeccc0f9499f77851c
Branch commit hash: 6a9119ae53035ed0c86f2c8807779e9810ace305

Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
aggregation q24 658.34 654.50 3.83 (0.59%)
aggregation q28 11349.79 11383.55 -33.76 (-0.30%)
filter q14 134.73 133.44 1.29 (0.97%)
filter q15 137.54 131.65 5.90 (4.48%)
filter q16 312.29 306.32 5.97 (1.95%)
filter q17 453.46 454.99 -1.53 (-0.34%)
filter q18 1972.26 1935.78 36.48 (1.88%)
filter zonemap-node 96.39 94.37 2.02 (2.14%)
filter zonemap-node-lhs-cast 96.03 94.82 1.21 (1.28%)
filter zonemap-rel 5656.41 5634.38 22.03 (0.39%)
fixed_size_expr_evaluator q07 588.97 587.87 1.10 (0.19%)
fixed_size_expr_evaluator q08 817.03 819.50 -2.47 (-0.30%)
fixed_size_expr_evaluator q09 820.24 823.66 -3.42 (-0.42%)
fixed_size_expr_evaluator q10 254.41 249.52 4.90 (1.96%)
fixed_size_expr_evaluator q11 244.53 241.07 3.46 (1.43%)
fixed_size_expr_evaluator q12 242.07 237.69 4.38 (1.84%)
fixed_size_expr_evaluator q13 1459.28 1481.68 -22.40 (-1.51%)
fixed_size_seq_scan q23 124.86 116.51 8.36 (7.17%)
join q29 631.33 586.29 45.03 (7.68%)
join q30 1272.62 1520.46 -247.83 (-16.30%)
join q31 4.57 5.39 -0.83 (-15.37%)
join SelectiveTwoHopJoin 46.42 52.08 -5.66 (-10.87%)
ldbc_snb_ic q35 2546.64 2620.41 -73.77 (-2.82%)
ldbc_snb_ic q36 548.63 534.94 13.69 (2.56%)
ldbc_snb_is q32 3.41 4.58 -1.16 (-25.42%)
ldbc_snb_is q33 13.42 11.82 1.60 (13.57%)
ldbc_snb_is q34 1.05 1.10 -0.05 (-4.75%)
multi-rel multi-rel-large-scan 1222.73 1235.21 -12.47 (-1.01%)
multi-rel multi-rel-lookup 10.04 21.60 -11.56 (-53.50%)
multi-rel multi-rel-small-scan 65.94 88.39 -22.45 (-25.40%)
order_by q25 139.95 140.44 -0.49 (-0.35%)
order_by q26 453.52 461.42 -7.89 (-1.71%)
order_by q27 1474.07 1467.97 6.10 (0.42%)
recursive_join recursive-join-bidirection 296.22 312.27 -16.05 (-5.14%)
recursive_join recursive-join-dense 7424.12 7444.49 -20.37 (-0.27%)
recursive_join recursive-join-path 24124.53 23647.88 476.65 (2.02%)
recursive_join recursive-join-sparse 13954.58 14098.76 -144.18 (-1.02%)
recursive_join recursive-join-trail 7379.59 7393.63 -14.04 (-0.19%)
scan_after_filter q01 181.92 178.16 3.76 (2.11%)
scan_after_filter q02 164.84 164.40 0.44 (0.27%)
shortest_path_ldbc100 q37 97.52 84.41 13.11 (15.53%)
shortest_path_ldbc100 q38 356.29 369.83 -13.54 (-3.66%)
shortest_path_ldbc100 q39 57.37 60.72 -3.35 (-5.51%)
shortest_path_ldbc100 q40 438.77 445.26 -6.49 (-1.46%)
var_size_expr_evaluator q03 2131.92 2114.31 17.61 (0.83%)
var_size_expr_evaluator q04 2285.55 2251.58 33.97 (1.51%)
var_size_expr_evaluator q05 2595.57 2636.87 -41.30 (-1.57%)
var_size_expr_evaluator q06 1358.76 1335.26 23.50 (1.76%)
var_size_seq_scan q19 1469.64 1478.02 -8.38 (-0.57%)
var_size_seq_scan q20 2670.09 2656.44 13.64 (0.51%)
var_size_seq_scan q21 2291.78 2293.28 -1.49 (-0.07%)
var_size_seq_scan q22 129.33 127.85 1.47 (1.15%)

Copy link

Benchmark Result

Master commit hash: ca954126a0dcb93c4a3acafeccc0f9499f77851c
Branch commit hash: 83d45ad98ce929076ff71cd38c5114842f1dfaa2

Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
aggregation q24 652.23 654.50 -2.27 (-0.35%)
aggregation q28 11960.47 11383.55 576.92 (5.07%)
filter q14 134.64 133.44 1.20 (0.90%)
filter q15 136.29 131.65 4.64 (3.52%)
filter q16 312.66 306.32 6.34 (2.07%)
filter q17 453.61 454.99 -1.38 (-0.30%)
filter q18 1951.07 1935.78 15.28 (0.79%)
filter zonemap-node 94.66 94.37 0.29 (0.30%)
filter zonemap-node-lhs-cast 94.49 94.82 -0.33 (-0.35%)
filter zonemap-rel 5732.53 5634.38 98.15 (1.74%)
fixed_size_expr_evaluator q07 584.84 587.87 -3.04 (-0.52%)
fixed_size_expr_evaluator q08 815.50 819.50 -4.00 (-0.49%)
fixed_size_expr_evaluator q09 814.60 823.66 -9.06 (-1.10%)
fixed_size_expr_evaluator q10 254.18 249.52 4.67 (1.87%)
fixed_size_expr_evaluator q11 244.37 241.07 3.30 (1.37%)
fixed_size_expr_evaluator q12 240.99 237.69 3.29 (1.39%)
fixed_size_expr_evaluator q13 1459.75 1481.68 -21.93 (-1.48%)
fixed_size_seq_scan q23 125.39 116.51 8.88 (7.62%)
join q29 642.63 586.29 56.33 (9.61%)
join q30 1567.02 1520.46 46.56 (3.06%)
join q31 6.40 5.39 1.01 (18.63%)
join SelectiveTwoHopJoin 52.97 52.08 0.89 (1.71%)
ldbc_snb_ic q35 2599.36 2620.41 -21.05 (-0.80%)
ldbc_snb_ic q36 538.20 534.94 3.26 (0.61%)
ldbc_snb_is q32 4.46 4.58 -0.12 (-2.59%)
ldbc_snb_is q33 12.01 11.82 0.19 (1.61%)
ldbc_snb_is q34 1.21 1.10 0.11 (9.70%)
multi-rel multi-rel-large-scan 1251.63 1235.21 16.43 (1.33%)
multi-rel multi-rel-lookup 20.80 21.60 -0.80 (-3.71%)
multi-rel multi-rel-small-scan 74.92 88.39 -13.47 (-15.24%)
order_by q25 135.90 140.44 -4.54 (-3.23%)
order_by q26 453.73 461.42 -7.69 (-1.67%)
order_by q27 1492.93 1467.97 24.96 (1.70%)
recursive_join recursive-join-bidirection 292.83 312.27 -19.45 (-6.23%)
recursive_join recursive-join-dense 7008.23 7444.49 -436.27 (-5.86%)
recursive_join recursive-join-path 23768.70 23647.88 120.82 (0.51%)
recursive_join recursive-join-sparse 14285.50 14098.76 186.74 (1.32%)
recursive_join recursive-join-trail 7384.75 7393.63 -8.88 (-0.12%)
scan_after_filter q01 179.06 178.16 0.90 (0.51%)
scan_after_filter q02 163.80 164.40 -0.60 (-0.37%)
shortest_path_ldbc100 q37 81.69 84.41 -2.72 (-3.22%)
shortest_path_ldbc100 q38 377.37 369.83 7.54 (2.04%)
shortest_path_ldbc100 q39 61.92 60.72 1.21 (1.99%)
shortest_path_ldbc100 q40 424.53 445.26 -20.73 (-4.66%)
var_size_expr_evaluator q03 2079.94 2114.31 -34.36 (-1.63%)
var_size_expr_evaluator q04 2270.10 2251.58 18.52 (0.82%)
var_size_expr_evaluator q05 2575.89 2636.87 -60.99 (-2.31%)
var_size_expr_evaluator q06 1340.06 1335.26 4.80 (0.36%)
var_size_seq_scan q19 1466.02 1478.02 -12.00 (-0.81%)
var_size_seq_scan q20 2672.65 2656.44 16.20 (0.61%)
var_size_seq_scan q21 2300.96 2293.28 7.68 (0.33%)
var_size_seq_scan q22 130.21 127.85 2.36 (1.85%)

Copy link

Benchmark Result

Master commit hash: ca954126a0dcb93c4a3acafeccc0f9499f77851c
Branch commit hash: 53c89cb965bdf8000f8d26b5a189d2e15238cf9b

Query Group Query Name Mean Time - Commit (ms) Mean Time - Master (ms) Diff
aggregation q24 651.38 654.50 -3.12 (-0.48%)
aggregation q28 11412.91 11383.55 29.36 (0.26%)
filter q14 133.93 133.44 0.50 (0.37%)
filter q15 132.83 131.65 1.18 (0.90%)
filter q16 310.57 306.32 4.26 (1.39%)
filter q17 452.02 454.99 -2.96 (-0.65%)
filter q18 1961.70 1935.78 25.92 (1.34%)
filter zonemap-node 94.29 94.37 -0.09 (-0.09%)
filter zonemap-node-lhs-cast 96.75 94.82 1.94 (2.04%)
filter zonemap-rel 5659.53 5634.38 25.15 (0.45%)
fixed_size_expr_evaluator q07 586.77 587.87 -1.10 (-0.19%)
fixed_size_expr_evaluator q08 817.83 819.50 -1.67 (-0.20%)
fixed_size_expr_evaluator q09 817.52 823.66 -6.14 (-0.75%)
fixed_size_expr_evaluator q10 251.31 249.52 1.79 (0.72%)
fixed_size_expr_evaluator q11 244.04 241.07 2.97 (1.23%)
fixed_size_expr_evaluator q12 242.68 237.69 4.99 (2.10%)
fixed_size_expr_evaluator q13 1457.18 1481.68 -24.50 (-1.65%)
fixed_size_seq_scan q23 127.30 116.51 10.79 (9.26%)
join q29 620.97 586.29 34.68 (5.91%)
join q30 1525.99 1520.46 5.53 (0.36%)
join q31 7.61 5.39 2.22 (41.09%)
join SelectiveTwoHopJoin 53.93 52.08 1.85 (3.55%)
ldbc_snb_ic q35 2549.96 2620.41 -70.45 (-2.69%)
ldbc_snb_ic q36 546.74 534.94 11.80 (2.21%)
ldbc_snb_is q32 4.94 4.58 0.37 (8.01%)
ldbc_snb_is q33 12.03 11.82 0.21 (1.76%)
ldbc_snb_is q34 0.87 1.10 -0.23 (-20.86%)
multi-rel multi-rel-large-scan 1195.64 1235.21 -39.57 (-3.20%)
multi-rel multi-rel-lookup 5.74 21.60 -15.86 (-73.43%)
multi-rel multi-rel-small-scan 96.88 88.39 8.49 (9.61%)
order_by q25 145.35 140.44 4.91 (3.50%)
order_by q26 453.81 461.42 -7.61 (-1.65%)
order_by q27 1478.03 1467.97 10.06 (0.69%)
recursive_join recursive-join-bidirection 291.38 312.27 -20.90 (-6.69%)
recursive_join recursive-join-dense 7441.93 7444.49 -2.56 (-0.03%)
recursive_join recursive-join-path 24073.53 23647.88 425.65 (1.80%)
recursive_join recursive-join-sparse 14397.87 14098.76 299.11 (2.12%)
recursive_join recursive-join-trail 7398.09 7393.63 4.46 (0.06%)
scan_after_filter q01 180.44 178.16 2.28 (1.28%)
scan_after_filter q02 164.92 164.40 0.51 (0.31%)
shortest_path_ldbc100 q37 90.67 84.41 6.26 (7.42%)
shortest_path_ldbc100 q38 352.77 369.83 -17.05 (-4.61%)
shortest_path_ldbc100 q39 61.81 60.72 1.09 (1.80%)
shortest_path_ldbc100 q40 454.51 445.26 9.25 (2.08%)
var_size_expr_evaluator q03 2130.52 2114.31 16.21 (0.77%)
var_size_expr_evaluator q04 2288.58 2251.58 37.00 (1.64%)
var_size_expr_evaluator q05 2570.91 2636.87 -65.97 (-2.50%)
var_size_expr_evaluator q06 1339.69 1335.26 4.43 (0.33%)
var_size_seq_scan q19 1470.17 1478.02 -7.85 (-0.53%)
var_size_seq_scan q20 2661.46 2656.44 5.01 (0.19%)
var_size_seq_scan q21 2283.09 2293.28 -10.19 (-0.44%)
var_size_seq_scan q22 130.39 127.85 2.54 (1.99%)

@andyfengHKU andyfengHKU mentioned this pull request Dec 28, 2024
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant