Database Query Plan Pre-Compilation for Single Value Columns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face challenges in optimizing query performance due to the need to access columns containing single values, which results in resource overhead and duplicative query executions, especially when handling complex queries or large volumes of transactions.

Innovation Solution

A database execution engine receives a query, evaluates columns to identify single values, generates pre-compiled code incorporating these values, and executes the query without directly accessing the columns, using a fingerprint mechanism to track updates and optimize query execution plans.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the database execution engine directly accesses columns containing single values during query execution, then the query execution is straightforward and simple, but resource expenditure increases and duplicative query executions occur

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidresource expenditure
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by pre-compiling query execution plans that incorporate single values from columns before actual query execution. The system evaluates columns to identify single values and generates pre-compiled code including these values in advance, eliminating the need to access the columns during query execution. This preliminary preparation reduces resource expenditure and eliminates duplicative query executions while maintaining execution efficiency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the database execution engine pre-compiles code including single values from columns, then resource expenditure is reduced and duplicative executions are eliminated, but the system complexity increases due to fingerprint tracking and code generation

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by introducing a fingerprint value parameter that tracks whether columns containing single values have been updated. This fingerprint mechanism allows the system to determine whether pre-compiled code remains valid without complex analysis. When the fingerprint indicates no changes, the system uses the pre-compiled code; when changes are detected, it regenerates the code. This parameter-based approach simplifies the complexity management while maintaining productivity benefits.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the database execution engine evaluates all columns to identify single values, then the query execution plan is optimized, but the initial processing time increases

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidinitial processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing column evaluation and single value identification during the query plan compilation phase rather than during execution. The system generates pre-compiled code including these optimizations before actual query processing begins. This shifts the time investment to a preliminary stage where it does not impact the critical execution path, thereby improving query execution efficiency without significantly affecting overall performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11556537B2Query plan generation and execution based on single value columns
Publication Date: 2023.01.17 SAP SE
  • US11556537B2 patent drawing
  • US11556537B2 patent drawing
  • US11556537B2 patent drawing

AI summary

Aspects of the current subject matter are directed to executing queries on tables in which one or more columns contain a single value. Upon execution of a query, columns in which a single value is contained are identified, and a pre-compiled code entry containing relevant identifying information is compiled as part of a query execution plan. The query execution plan is used for subsequent query executions, alleviating the need to access the columns during the subsequent query executions that involve the columns. A fingerprint value may be used to track if changes to relevant tables occur.