Three-Step Join Processing for Column Partitioned Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional join operations on column-partitioned database tables incur unnecessary I/O costs due to the spooling of all columns, even when only some columns are needed for the join, leading to inefficient query performance, especially when large tables are involved and cannot be duplicated for direct access.

Innovation Solution

A three-step join processing method is introduced, where only the columns needed for the join are spooled, followed by a rowid join to produce temporary tables, and finally, the remaining columns are accessed to generate the results table, allowing the query optimizer to cost and optimize each step for improved performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the column-partitioned table is spooled for join operation, then the join can be performed, but all columns are read including non-join columns which incurs unnecessary I/O

Engineering Contradiction:
Improvejoin operation efficiencyVSAvoidI/O cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the column-partitioned table into two distinct parts: join columns and non-join columns. The join columns are spooled to temporary storage for the join operation, while non-join columns remain in their original location and are accessed only after the join condition is satisfied. This segmentation eliminates unnecessary I/O by reading only the essential join columns during the spooling phase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts and separates the join columns from the non-join columns in the column-partitioned table. By taking out only the join columns needed for the operation and leaving the rest behind, the system avoids the inefficiency of reading and writing all columns to temporary storage, thereby reducing I/O costs while maintaining join functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of energy

If the other table is duplicated for direct join, then I/O reduction is achieved for small qualifying rows, but the table must be large enough to be duplicatable

Engineering Contradiction:
ImproveI/O reductionVSAvoidapplicability to large tables
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The patent segments the join processing into two phases: first spooling only join columns from the column-partitioned table to temporary storage, then performing the join with the other table. This segmentation allows the approach to work efficiently with large tables that cannot be fully duplicated, as only essential columns are moved to temporary storage.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If conventional row-based join processing is used, then simplicity is maintained, but column-level optimization options are not utilized

Engineering Contradiction:
Improveprocessing simplicityVSAvoidquery performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the table access pattern by first reading only join columns from the column-partitioned table, performing the join operation, and then accessing non-join columns only for qualifying rows. This segmentation enables column-level optimization while maintaining a relatively simple processing framework that builds upon conventional join operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8972381B2Techniques for three-step join processing on column partitioned tables
Publication Date: 2015.03.03 TERADATA CORP
  • US8972381B2 patent drawing
  • US8972381B2 patent drawing
  • US8972381B2 patent drawing

AI summary

Techniques for processing joins on column partitioned tables are provided. A query includes a first-Column Partition (CP) table joined with a second-CP table. The query is decomposed into a three-step process and rewritten and processed.