Database Table Join Optimization via Bit Vector Pre-computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face inefficiencies in processing queries that require complex table joins and filtering across large datasets, particularly in multi-dimensional analytical databases, due to the lack of optimized methods for composing table join trees and applying filters efficiently.

Innovation Solution

The implementation of a method to determine the output level and filters for a table join tree, selecting appropriate tables, and applying bit vector, general attribute qualification, and relationship filters to facilitate efficient query processing, enabling the generation of a new table that facilitates the response to queries by optimizing the join process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If complex table joins and filtering are performed across large datasets in multi-dimensional analytical databases, then query processing capability is improved, but computational overhead and processing time increase significantly

Engineering Contradiction:
Improvequery processing capabilityVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing bit vector representations of filter criteria and table data structures before query execution. When a query arrives, the system retrieves pre-computed bit vectors and performs rapid bitwise operations instead of executing complex joins and filters from scratch, significantly reducing processing time while maintaining query capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent substitutes traditional mechanical database join operations (row-by-row comparisons and table merges) with bitwise logical operations on pre-computed bit vectors. This replacement transforms computationally intensive mechanical processing into efficient parallel bitwise operations, reducing computational overhead and processing time

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Device complexity

If traditional table join methods are used without optimization, then implementation simplicity is maintained, but computational overhead increases

Engineering Contradiction:
Improvejoin process complexityVSAvoidcomputational overhead
Core Design Contradiction:
Device complexityVSUse of energy by moving object

Solution Approach 1:

The patent changes the parameter representation from traditional row-based table structures to bit vector encodings. By representing filter criteria and table data as compact bit vectors, the system enables efficient bitwise operations that reduce computational overhead. The bit vector parameter change allows parallel processing of multiple filter conditions simultaneously, lowering the energy required for join operations

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9875277B1Joining database tables
Publication Date: 2018.01.23 STRATEGY INC
  • US9875277B1 patent drawing
  • US9875277B1 patent drawing
  • US9875277B1 patent drawing

AI summary

In one implementation, a query is received that is related to data stored in a database that is implemented in computer memory. Based on the received query, attributes of data stored in the database that are relevant to generating a response to the received query are identified. Information that is indicative of attributes for which values are recorded in different tables included in the database is accessed. Based on having accessed this information, tables included in the database that record values for the attributes identified as being relevant to generating a response to the received query are identified. These tables then are joined to create, within computer memory, a new table that reflects relationships between values of attributes identified as being relevant to generating a response to the received query.