Expand description
JOIN Optimization Rules
This module contains optimization rules specifically for JOIN operations. These rules aim to improve JOIN performance through various transformations.
§Basic JOIN Optimization
- PushProjectDownJoinRule: Push projection operations down to JOIN inputs
- LeftJoinToInnerJoinRule: Convert LeftJoin to InnerJoin when possible
- JoinConditionSimplifyRule: Simplify and deduplicate JOIN conditions
- ExtractEquiJoinKeysRule: Move cross-side Filter equalities into InnerJoin keys
§Graph Traversal Optimization
- JoinToExpandRule: Convert vertex-edge JOIN to ExpandAll
- JoinToAppendVerticesRule: Convert edge-vertex JOIN to AppendVertices
- MergeConsecutiveExpandRule: Merge consecutive ExpandAll into Traverse
§Advanced Optimization
- JoinEliminationRule: Eliminate redundant JOIN operations
- IndexJoinSelectionRule: Select index-based JOIN when appropriate
- JoinReorderRule: Reorder multi-table JOINs for better performance
Re-exports§
pub use extract_equi_join_keys::ExtractEquiJoinKeysRule;pub use index_join_selection::IndexJoinSelectionRule;pub use join_condition_simplify::JoinConditionSimplifyRule;pub use join_elimination::JoinEliminationRule;pub use join_reorder::JoinReorderRule;pub use join_to_append_vertices::JoinToAppendVerticesRule;pub use join_to_expand::JoinToExpandRule;pub use left_join_to_inner_join::LeftJoinToInnerJoinRule;pub use merge_consecutive_expand::MergeConsecutiveExpandRule;pub use push_project_down_join::PushProjectDownJoinRule;
Modules§
- extract_
equi_ join_ keys - Extract equi-join keys from a Filter above a keyless InnerJoin.
- index_
join_ selection - Rules for index-based JOIN selection
- join_
condition_ simplify - Rules for simplifying JOIN conditions
- join_
elimination - Rules for eliminating redundant JOIN operations
- join_
reorder - Rules for multi-table JOIN reordering
- join_
to_ append_ vertices - Rules for converting Edge-Vertex JOIN to AppendVertices
- join_
to_ expand - Rules for converting Vertex-Edge JOIN to ExpandAll
- left_
join_ to_ inner_ join - Rules for converting LeftJoin to InnerJoin
- merge_
consecutive_ expand - Rules for merging consecutive ExpandAll operations into Traverse
- push_
project_ down_ join - Rules for pushing projection operations down to JOIN