Index Join Query Generation for Cross-Database Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face resource and time-intensive challenges when performing index join operations across tables stored in multiple databases, especially when direct access to indices is not available, leading to inefficient data processing and high network traffic.

Innovation Solution

A database management system generates a query with a where clause equality expression that leverages an indexed column, allowing it to fetch necessary data from one table and perform the join operation without direct access to the index, by using either a parameter or an updatable constant, reducing data movement and processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If tables are copied from multiple databases to perform join operations in local memory space, then the join operation can be performed, but resource usage and processing time increase significantly

Engineering Contradiction:
Improvejoin operation capabilityVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts only the necessary data from foreign databases through index join operations rather than copying entire tables. The query processor identifies indexed columns in foreign databases and performs targeted data retrieval using index join queries, extracting only the rows that satisfy the join condition instead of transferring complete table data to local memory space.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the data retrieval process into two distinct phases: first retrieving matching row identifiers from the index using the join condition, then fetching only those specific rows from the foreign database. This segmentation avoids the need to copy entire tables and reduces the volume of data transferred across the network.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If tables are copied from multiple databases to perform join operations, then the join can be executed, but network traffic increases due to data movement

Engineering Contradiction:
Improvejoin operation capabilityVSAvoidnetwork traffic
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system extracts only the minimal necessary data from foreign databases by using index join operations to retrieve specific rows that match the join condition, rather than transferring entire tables. This extraction approach dramatically reduces network traffic by sending only relevant data across the network connection.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If direct access to index is not available, then the database management application can still perform joins by copying tables, but resource intensity increases

Engineering Contradiction:
Improveaccess method flexibilityVSAvoidresource usage
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent introduces an intermediary mechanism where the query processor generates specialized index join queries that interact with the foreign database's index structure through standard SQL interfaces. This intermediary approach allows the system to leverage indexed columns without requiring direct access to the underlying index data structures, maintaining adaptability while reducing resource consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If all rows from both tables are fetched to perform the join, then the join operation is complete, but the number of comparison operations increases

Engineering Contradiction:
Improvejoin operation completionVSAvoidcomparison operation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts only the essential information needed for the join operation by first querying the index to identify matching row identifiers, then retrieving only those specific rows. This extraction eliminates the need to fetch and compare all rows from both tables, significantly reducing the number of comparison operations required.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The join operation is segmented into two efficient steps: first using the index to identify matching rows through equality comparisons on indexed columns, then fetching only those identified rows. This segmentation avoids the computationally expensive operation of comparing every row from one table against every row from the other table.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8694525B2Systems and methods for performing index joins using auto generative queries
Publication Date: 2014.04.08 SAS INSTITUTE INC
  • US8694525B2 patent drawing
  • US8694525B2 patent drawing
  • US8694525B2 patent drawing

AI summary

In accordance with the teachings described herein, systems and methods are provided for performing index joins. A database management application may receive an instruction to perform an index join operation between columns in a first table and a second table, wherein the database management application does not have direct access to an index of the first table or the second table for performing the index join operation. A query may be automatically generated by the database management application, wherein the query includes a where clause equality expression that equates an indexed column of the second table with a parameter or updatable constant. The database management application may substitute a value from a row of the first table may for the parameter or updatable constant, and cause the query to be executed on the index of the second table to fetch any one or more rows of the second table that satisfy the where clause by having an index value that matches the substituted value. The database management application may then repeat the substituting and executing operations for each row of the first table, and perform the index join operation using the fetched one or more rows.