Multi-Join Predicate Transfer Pre-Filtering for Faster Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large scale database systems face inefficiencies in searching for records across multiple tables due to complex relationships, leading to increased processing and memory resource consumption and slower responsiveness.

Innovation Solution

Implement predicate transfer pre-filtering through constructing a join graph and transferring local predicates across multiple tables using Bloom filters to reduce join input sizes, applying filters to tables before performing join operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If predicate transfer pre-filtering is implemented across multiple tables, then query runtime is reduced and filtering efficiency is improved, but device complexity and implementation complexity increase

Engineering Contradiction:
Improvequery runtimeVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the filtering process by constructing a join graph that divides tables into vertices and join operations into edges. Local predicates are transferred along specific paths in the graph, allowing filtering to be applied incrementally across multiple tables rather than requiring a monolithic filtering approach. This segmentation reduces query runtime while managing system complexity through structured decomposition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary filtering actions by transferring local predicates to filter tables before join operations are performed. The join graph is constructed and predicates are propagated in advance, identifying and filtering out rows that will not contribute to join results before the actual joins occur. This preliminary action significantly reduces the data volume processed during joins, improving query runtime without proportionally increasing complexity.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If local predicates are transferred across the join graph to filter multiple tables, then memory consumption and hash table probe costs are minimized, but the complexity of predicate management and transfer increases

Engineering Contradiction:
Improvememory consumptionVSAvoidpredicate management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent extracts only the necessary filtering information by transferring local predicates selectively across the join graph. Instead of managing all possible predicates for all tables, the system identifies and transfers only those predicates that will actually filter rows contributing to join results. This extraction approach minimizes memory consumption while keeping predicate management complexity manageable through targeted rather than comprehensive predicate handling.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The join graph serves as an intermediary structure that facilitates predicate transfer between tables. Rather than directly managing complex many-to-many predicate relationships between tables, the graph provides a structured intermediate representation where predicates flow along defined edges. This intermediary approach simplifies predicate management while enabling efficient filtering that reduces memory consumption during join operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12554720B2Predicate transfer pre-filtering on multi-join queries
Publication Date: 2026.02.17 WISCONSIN ALUMNI RES FOUND
  • US12554720B2 patent drawing
  • US12554720B2 patent drawing
  • US12554720B2 patent drawing

AI summary

A method includes receiving a query of a database including a plurality of tables, constructing a join graph, and constructing a local predicate including a local filter. The method also includes transferring the local predicate across the join graph, applying the local filter and one or more transferred filters to the tables of the join graph, performing join operations on the filtered tables of the join graph, and returning a result of the query based on joining the filtered tables.